js变量引用(指针)

访客4年前黑客文章727

1.变量类型:基本类型和引用类型

基本类型:Number,Boolen,null,String,Underfined 存放在栈内存中,数据长度是牢固的。
引用类型:Object存在堆内存中,数据长度是转变的(同时有栈内存中有一个指针指向这个Object的)。


2.引用类型的Object能随便指定新的成员,然则对于基本类型就是无效。

var str=’ahui’;
str.name=’xiaoming’;//无效。
alert(str.name);//undefined


3.关于复制

基本类型:在新的栈内存中天生一个副本

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


4.传参数——js中所有的参数都是按值传送的,而不是按引用。

(这一点等同于复制)
注:按值通报并不意味着你所传参数不会由于函数的执行而受影响。若是参数自己是引用类型,那么所复制的参数自己也包罗相同的指针,参数的改变当然会影响到所传的变量。



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米代金券、领会最新阿里云产物的种种优惠流动点击进入

相关文章

黑客只要知道微信号就能监控(黑科技看别人微信聊天记录)_

    微信作为如今主流的社交工具,无论是生活还是工作我们都会...

冰糖葫芦制作方法(冰糖葫芦的做法,全程详细讲解)

冰糖葫芦制作方法(冰糖葫芦的做法,全程详细讲解) 从小我就喜欢吃冰糖葫芦,酸酸甜甜的,非常的好吃,每次一上街,我就会缠着妈妈给我买上一串。后来,妈妈从亲戚那里学会了做糖葫芦,每年一到山楂丰收的季节,...

怎么用自己手机查看老婆和别人聊天记录

求:如何使用自身手机上查询媳妇和他人微信聊天记录...

美华商务-【逄仪】

“美华商务-【逄仪】” 商务接待活动:2829米/天北京商务微信号,个人微信,北京商务个人微信号()目前居住地:盐田区伴游范围:全国微信号:27**v**s伴游范围:全国婚否:未婚体重:52KG微...

车辆识别码是什么?车辆识别码 车辆vin码是什么

车辆识别码是什么?车辆识别码 车辆vin码是什么

车辆识别码是什么(车辆识别码 车辆vin码是什么)VIN是英文Vehicle ldentification Number(车辆识别码)的缩写。因为ASE标准规定:VIN码由17位字符组成,所以俗称十七...

怎么远程查看微信聊天记录(远程查男朋友微信聊天记录)

怎么远程查看微信聊天记录(远程查男朋友微信聊天记录)今天逛微博的时候小编冷不丁被张歆艺与袁弘塞了一碗“狗粮”,二姐在微博上表示快到机场的时候才发现手机还有新娘头纱忘记带了,多亏了闪送小哥才“挽救”了自...