JavaScript中的连续赋值问题实例分析

 更新时间:2019年07月12日 08:36:50   作者:Night_Emperor   我要评论

这篇文章主要介绍了JavaScript中的连续赋值问题,结合实例形式分析了javascript赋值语句以及连续赋值操作相关用法与操作注意事项,需要的朋友可以参考下

本文实例讲述了JavaScript中的连续赋值问题。分享给大家供大家参考,具体如下:

JavaScript中的连续赋值:

<script>
var a = {n: 1}
var b = a;
a.x = a = {n: 2}
console.log(a.x);//undefined
console.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);//undefined
console.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}}

<script>
console.log(c.x.xx.x);//10
console.log(c.y.x);//10
console.log(c.w.x);//10
</script>

上述代码感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具http://tools.jb51.net/code/HtmlJsRun测试运行结果。

更多关于JavaScript相关内容还可查看本站专题:《javascript面向对象入门教程》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结

希望本文所述对大家JavaScript程序设计有所帮助。

相关文章

  • 原生javascript实现读写CSS样式的方法详解

    原生javascript实现读写CSS样式的方法详解

    最近学习中遇到这个问题,为了日后方便查询,本人翻阅了一些资料总结了以下方法,仅限原生JS,如有不对的地方欢迎指出!只求大家看完觉得有学到点什么就OK了!下面这篇文章主要介绍了利用原生javascript实现读写CSS样式的方法,需要的朋友可以参考下。
    2017-02-02
  • JavaScript实现自动弹出窗口并自动关闭窗口的方法

    JavaScript实现自动弹出窗口并自动关闭窗口的方法

    这篇文章主要介绍了JavaScript实现自动弹出窗口并自动关闭窗口的方法,可实现从页面左侧弹出窗口5秒后窗口向右移动并消失的效果,涉及javascript针对页面窗口及样式的定义操作技巧,需要的朋友可以参考下
    2015-08-08
  • 被遗忘的javascript的slice() 方法

    被遗忘的javascript的slice() 方法

    javascript数组对象的slice方法从数组中分离出一个子数组,功能类似于字符串对象的substring方法。今天我们就来详细探讨下javascript的这个不太常用的slice()方法。
    2015-04-04
  • js纯数字逐一停止显示效果的实现代码

    js纯数字逐一停止显示效果的实现代码

    下面小编就为大家带来一篇js纯数字逐一停止显示效果的实现代码。小编觉得非常不错。现在分享给大家。给大家一个参考
    2016-03-03
  • js操作table示例(个人心得)

    js操作table示例(个人心得)

    有一个表格,然后有4个输入框,一个合并按钮,输入框是这样的,从第几行到第几行,从第几列到第几列,然后点击按钮,合并
    2013-11-11
  • Spring Boot+AngularJS+BootStrap实现进度条示例代码

    Spring Boot+AngularJS+BootStrap实现进度条示例代码

    一般上传文件时都需要进度条,本篇文章主要介绍了Spring Boot+AngularJS+BootStrap实现进度条示例代码,有兴趣的可以了解一下。
    2017-03-03
  • Javascript 事件流和事件绑定

    Javascript 事件流和事件绑定

    本文中的部分观点参考至《Javascript高级程序设计》(很好的一本书,推荐大家看看!),addEvent函数借鉴了YUI2.7的_addListener方法,这里也要谢谢YUI那些牛人,向他们致敬!
    2009-07-07
  • Javascript四舍五入Math.round()与Math.pow()使用介绍

    Javascript四舍五入Math.round()与Math.pow()使用介绍

    本文为大家介绍下Javascript中的四舍五入Math.round()与Math.pow()的使用,感兴趣的朋友不要错过
    2013-12-12
  • Ionic3 UI组件之autocomplete详解

    Ionic3 UI组件之autocomplete详解

    这篇文章主要为大家详细介绍了Ionic3 UI组件之autocomplete的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • javascript插入样式实现代码

    javascript插入样式实现代码

    最近做一个项目,需要javascript动态插入样式,结果以前的方法失效了!查了2个小时的原因竟然是自己手贱,这个最后再说
    2012-02-02

最新评论