Javascript中的引用类型

一般提到引用类型,脑海中通常都会想到一个词叫“同步”,也就是变化在两者之间是同步的,不管是改变引用的值还是变量的值,最终变量和绑定在该变量上的引用这两者的值都会保持一致。

在javascript中有一个特别的类型叫做引用类型,其中包括可能大家比较熟悉的Object类型,Function类型,还有一些如基本包装类型,RegExp类型等。这些都属于引用类型,举例来说:var car_a = {brand: 'benz', color: 'black'},这条语句就声明了一个引用类型变量car_a并赋给了初值,若再添加这行语句:var car_b = car_a; car_b.color = 'red',那么现在car_a的color属性也随之改变了,可以粗浅的理解成car_a和car_b都是这个对象{brand: 'benz', color: 'black'}的引用,所以改变一个就会改变这个被引用的“匿名”对象。

了解这个规则之后就可以理解javascript中函数的参数是按值传递而不是引用传递的了。比如:
<pre>
var color_a = {color: 'blue'}
function cc (obj) {
obj.color = 'red' <code>// obj被赋值后就和color_a指向了同一个对象</code>
obj = {age: '20'} <code>// obj指向了一个新的对象</code>
}
cc(color_a) <code>// color_a = {color: 'red'}</code>
</pre>  如果是按引用传递的话那么最后color应该等于{age: '20'},所以这就是关于javascript中引用类型的简要说明。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • importUIKit classViewController:UITabBarController{ enumD...
    明哥_Young阅读 9,436评论 1 10
  • 下面的内容是对网上原有的Java面试题集及答案进行了全面修订之后给出的负责任的题目和答案,原来的题目中有很多重复题...
    独念白阅读 5,222评论 0 3
  • 核心理念是write less,do more(写得更少,做得更多)。 jQuery在2006年1月由美国人Joh...
    ShareQiang阅读 5,497评论 0 7
  • 出差突发的病痛,让我措手不及的体验了一把残疾人,花擦擦,躺下,起来,坐下,起来,卧着,都需要尝试各种姿势后,挑选一...
    你说我听好么阅读 1,410评论 1 0
  • 我刚刚花了一分钟吃完了今天的午餐。你是不是觉得很不可思议?一分钟能吃完一顿饭吗?我的答案是肯定的。怎么做到的?别急...
    灵动的兰兰阅读 4,580评论 7 13