时间:2021-05-26
本文实例讲述了JavaScript中的连续赋值问题。分享给大家供大家参考,具体如下:
JavaScript中的连续赋值:
<script>var a = {n: 1}var b = a;a.x = a = {n: 2}console.log(a.x);//undefinedconsole.log(b.x)//Object {n: 2}</script>Javascript中赋值运算符“=”的优先级是除了“,”以外最低的,并且是从右向左结合的。
Javascript中运算的顺序是从左向右的。
a.x = a = {n: 2}可以看做a.x =(a = {n: 2}) ,先运算a.x,在a中添加x属性,结果为null,在计算表达式(a = {n: 2}),最后进行赋值运算。
修改程序:
<script>var a = {n: 1}var b = a;a = a.x = {n: 2}console.log(a.x);//undefinedconsole.log(b.x)//Object {n: 2}</script><script>var a = {x:{xx:1},y:2,z:3};var b = a.x; //{xx:1}var c = a;a.w = a.x.xx = a.y = a = {x:10,y:20};console.log(a);console.log(b);console.log(c);</script>运行结果:
a : {x: 10, y: 20}
b : {xx : {x: 10, y: 20}}
c :?{x:{xx:{x:10,y:20}},y:{x:10,y:20},z:3,w:{x:10,y:20}}
上述代码感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具:http://tools.jb51.net/code/HtmlJsRun测试运行结果。
更多关于JavaScript相关内容还可查看本站专题:《javascript面向对象入门教程》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》
希望本文所述对大家JavaScript程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
JavaScript程序中的一段源代码在执行之前会经历三个步骤,统称为编译分词/词法分析解析/语法分析代码生成先看原书对一个赋值操作的拆解说明:变量的赋值操作会
本文实例讲述了javascript引用赋值(地址传值)用法。分享给大家供大家参考。具体如下:javascript在默认情况下,数组、对象和函数是引用赋值,如下代
本文实例讲述了JavaScript函数参数使用带参数名的方式赋值传入的方法。分享给大家供大家参考。具体分析如下:这里其实就是在给函数传递参数的时候,可以使用参数
本文实例讲述了python实现同时给多个变量赋值的方法。分享给大家供大家参考。具体分析如下:python中可以同时给多个变量赋值,下面列举了三种方法#Assig
本文实例讲述了javaScript中slice函数用法。分享给大家供大家参考。具体分析如下:javaScript中的slice函数,对于array对象的slic