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

 更新时间:2019年07月12日 08:36:49   作者: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程序设计有所帮助。

相关文章

  • 5款JavaScript代码压缩工具推荐

    5款JavaScript代码压缩工具推荐

    这篇文章主要介绍了5款JavaScript代码压缩工具推荐,代码压缩(也称代码最小化)是一个从源代码中消除所有不必要的字符的过程,需要的朋友可以参考下
    2014-07-07
  • javascript实现标签切换代码示例

    javascript实现标签切换代码示例

    本文给大家分享的事tab切换的两段js,均可实现标签切换功能,大家根据自己的需求自由选择
    2016-05-05
  • javascript中的异步调用机制

    javascript中的异步调用机制

    这篇文章主要介绍了javascript中的异步调用机制,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • js实现的早期滑动门菜单效果代码

    js实现的早期滑动门菜单效果代码

    这篇文章主要介绍了js实现的早期滑动门菜单效果代码,涉及javascript数组遍历及通过鼠标事件动态改变页面元素属性的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-08-08
  • 15位和18位身份证JS校验的简单实例

    15位和18位身份证JS校验的简单实例

    下面小编就为大家带来一篇15位和18位身份证JS校验的简单实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-07-07
  • JavaScript中数组Array方法详解

    JavaScript中数组Array方法详解

    本文主要介绍了JavaScript中数组Array方法的相关知识,具有很好的参考价值,下面跟着小编一起来看下吧
    2017-02-02
  • JavaScript中map属性示例详解

    JavaScript中map属性示例详解

    Map对象在JavaScript中提供了一种灵活且高效的键值对存储方式,它具有许多实用的方法,如set()、get()、has()和delete()等,使得操作和管理键值对变得更加简单,这篇文章主要介绍了JS中map属性,需要的朋友可以参考下
    2024-08-08
  • 详解uniapp分包的实现方式及优点

    详解uniapp分包的实现方式及优点

    当今移动应用开发领域,随着用户对于应用功能和体验的要求不断提高,应用程序的复杂度也在不断增加,在这种情况下,应用程序的体积也随之增大,为了解决这个问题,Uniapp提供了分包功能,本文将详细介绍Uniapp分包的功能和优势,包括如何通过配置文件实现分包
    2023-09-09
  • javascript比较语义化版本号的实现代码

    javascript比较语义化版本号的实现代码

    这篇文章先是给大家简单的介绍了下语义化版本号,而后再用实例代码演示语义化版本号的比较方法,有需要的朋友们可以参考借鉴。
    2016-09-09
  • javascript实现的柱状统计图表

    javascript实现的柱状统计图表

    下面是完成后的预览图,可以看到,绘制一个表格,耗时0.005毫秒,也就是200分之一秒。效率我还是比较满意的!
    2010-07-07

最新评论