javascript 引用

基本类型

number,string都是基本数据类型,而基本类型存放在栈区,访问时按值访问,赋值时按照普通方式赋值,当基本类型赋值的时候,赋的是实际的值,a和b是没有关联的b由a赋值得到,相互独立。

    var a = 10;
    var b = a
    b=2
    console.log(a)    //10
    console.log(b)    //2

引用类型

对象和数组是通过引用来赋值的,引用类型指的是对象,可以拥有属性和方法,并且我们可以修改属性和方法。引用对象存储的方式是:在栈中存放对象变量标识名称和该对象在堆中存放的地址,在堆中存放的数据。
对象使用的是引用赋值。当我们把对象赋值给一个新的变量时,赋的其实是该对象在堆中的地址,而不是堆中的数据,也就是两个对象指向的是一个存储空间,无论哪个对象发生变化,另一个也会随之改变,两个对象是联动的

    var arr = [1,2]
    var new_arr = arr
    new_arr[0] = 5
    console.log(arr)    //[2,5]
    console.log(new_arr)  //[2,5]

对此对象调用

对象调用函数this的指向对象,this.a就等于2如果多次调用,对象属性引用链只有上一层或者说是最后一层在调用位置中起作用。

     function fn(){
             console.log(this.a)
     }
     var obj = {
          a:2,
          foo:fn
      }
      var obj1 = {
           a:1,
           obj:obj
      }
   obj1.obj.fn()   //2
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在2015年,日本再次翻拍了电视剧《下町火箭》,这个由小说改编,曾经风靡一时的电视剧。工程师佃航平因为火箭发射的失...
    源光华阅读 471评论 0 3
  • 在回来的路上,我和彭婧在聊天,他很怀念过去的留学生活,他说让我不要在这里留下遗憾。我也很喜欢这里,因为这里的日落很...
    nicole_e阅读 197评论 0 0
  • 长大是一场无需解释的蜕变,是一场必经的苦旅,它是一段过程,也是最终的目的地。在这场蜕变中,必然打破幸福,经历痛楚,...
    可愛多阅读 378评论 0 1
  • 通过学习漫步人生的课程自己目前的生活状态与精神状态有了很大的改变,内心的喜悦感和幸福感越来越强。本周我们学习的是习...
    禅意清柔阅读 111评论 0 0