js变量引用(指针)

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

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

2.腾讯云: 提供云服务器、云数据库、云存储、视频与CDN、域名等服务。腾讯云各种产物的最新流动,优惠券领取点击进入

3.广告同盟: 整理了现在主流的广告同盟平台,若是你有流量,可以作为参考选择适合你的平台点击进入

链接: http://www.fly63.com/article/detial/368

  • 发表于 2021-02-22 07:31
  • 阅读 ( 409 )
  • 分类:互联网

0 条评论

请先 登录 后评论
xxxxxa
xxxxxa

666 篇文章

你可能感兴趣的文章

相关问题