基本类型:Number,Boolen,null,String,Underfined 存放在栈内存中,数据长度是牢固的。
引用类型:Object存在堆内存中,数据长度是转变的(同时有栈内存中有一个指针指向这个Object的)。
var str=’ahui’; str.name=’xiaoming’;//无效。 alert(str.name);//undefined
基本类型:在新的栈内存中天生一个副本
var a='stra',b; b=a;//这里会所b数据拷贝到a所在的栈内存中 b='strb';//a='stra'
引用类型:在新的栈内存中存一个相同的指针
也就是说:其赋值不会开拓新内存空间。两个变量会保留完全相同的数据。
var objA=new Object(); objA.name='stra'; var objB=objA;//objB在栈内存的指针和objA在栈内存中的指针是值是相同的——指向同一个堆块 objB.name='strb'; alert(objA.name);//strb alert(objB.name);//strb
(这一点等同于复制)
注:按值通报并不意味着你所传参数不会由于函数的执行而受影响。若是参数自己是引用类型,那么所复制的参数自己也包罗相同的指针,参数的改变当然会影响到所传的变量。
var o=new Object; o.name='ahui'; function func(obj){ obj.name='This variable is changed'; } func(o); alert(o.name);//This varibale is changed
1.阿里云: 本站现在使用的是阿里云主机,平安/可靠/稳固。点击领取2000米代金券、领会最新阿里云产物的种种优惠流动点击进入
2.腾讯云: 提供云服务器、云数据库、云存储、视频与CDN、域名等服务。腾讯云各种产物的最新流动,优惠券领取点击进入
3.广告同盟: 整理了现在主流的广告同盟平台,若是你有流量,可以作为参考选择适合你的平台点击进入
链接: http://www.fly63.com/article/detial/368