首页 > 代码库 > javascript变量和对象要注意的点
javascript变量和对象要注意的点
js对象和变量,对象本身是没有名称的,之所以使用变量是为了通过某个名称来称呼这样一种不具名称的对象。
变量分基本变量和引用类型变量。
将基本类型的的值付给变量的话,变量将这个值本身保存起来。
1 <script type="text/javascript"> 2 function p(){ 3 var len=arguments.length; 4 for(var i=0;i<len;i++){ 5 document.write(arguments[i]+"<br/>"); 6 } 7 } 8 var a=123; 9 var b=a; //b把123保存起来,之后b与a没有关系了,操作b不影响a了10 b++;11 p(a,b);//123,12412 //将一个对象赋值给一个变量,其实是把对象的引用赋值给了变量,对象本身是无法赋值给一个变量的13 var a={x:1,y:2}; //a里存的是对象的引用14 b=a; //b里存的是变量的引用 或者说地址,而不是变量本身,这时a,b里存的是同一个引用地址,b的操作影响对象15 b.x++;16 p(a.x,b.x);//2,217 //再比如18 var a={x:1,y:2};19 var b=a;20 var a={x:2,y:3};21 p(b.x);//122 </script> 23 //对于交换变量值得函数,可以用javascript1.7里 增强功能24 <script type="application/javascript;version=1.7">25 function swap(a,b){26 return [b,a];27 }28 var x=4,y=3;29 [x,y]=swap[y,x];30 p(x,y)//3,431 </script>
1 //变量的查找 2 //试图读取没有声明的变量,会引起referenceError异常 3 <script> 4 var a=a||7; //利用对已经声明的变量再次声明不会产生副作用的特性 5 //也可以 6 if(typeof a!==‘undefined‘){ 7 var b=a; 8 }else{ 9 var b=7;10 }11 //判断a是否声明(不管赋值与否)12 if(‘a‘ in this){13 var b=a;14 }else{15 b=7;16 }17 //然后可以放心用b了18 </script>
变量和属性的实质上是一样的,不过如果变量和属性本身不存在,在处理方式上有所不同
<script> p(x);//ReferenceError x is not undefined p(this.x);// undefined 访问不存在的属性并不会引起错误 var obj={};p(obj.x);//undefinedp(obj.x.y) //typeError //一般使用obj.x&&obj.x.y </script>// js不支持函数默认参数在调用函数时不检查实参和形参个数,不一致也不报//任何错误 //可以模拟默认参数 <script> function a(pos){ pos=pos||{x:1,y:2}; return pos.x+pos.y; } </script>
javascript变量和对象要注意的点
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。