javascript连续赋值问题


前几天在搜索面试题时发现了这么一段代码,执行完后感觉完全不与所想的一样

 var a = {
   n : 1
 };
 var b = a;
 a.x = a = {n : 2};
 console.log(a.x);
 console.log(b.x);

输出结果为:

undefined

[object Object]

一开始以为语句应该是先给 a 赋值 {n : 2} , 然后再将 a.x 赋值 {n : 2} ;

但事实却不是那样,于是改动了一下代码,添加几条log

var test;
var a = {
  get test () {
    console.log("call a get");
    return test;
  },
  set test (value) {
    console.log("call a set");
    test = value;
  }
}
var test2;
var b = {
  get test2 () {
    console.log("call b get");
    return test2;
  },
  set test2 (value) {
    console.log("call b set");
    test2 = value;
  }
}
a.test = {
  n : 1
};
b.test2 = a.test;
console.log("begin");
a.test.x = a.test = {n : 2};

这样,在begin后边,这条赋值到底执行了什么就一目了然了.

这是语句执行时打印的log

先触发了一次get,然后触发了一次set.

本人猜想,该条语句执行的顺序为,先将左边变量取出,然后执行赋值.(在执行该条语句前,先将对象引用取出,然后从右到左执行赋值)


以上所述就是本文的全部内容了,希望大家能够喜欢



相关阅读:
Win10 Mobile周年更新将于8月9日上线
asp.net使用npoi读取excel模板并导出下载详解
Win10累积补丁KB3124200更新后版本同升为10586.36
Java中对AtomicInteger和int值在多线程下递增操作的测试
解决Win7系统USB接口没反应的方法
在Android中 获取正在运行的Service 实例
使用JQuery库提供的扩展功能实现自定义方法
JS实现两个大数(整数)相乘
js post提交调用方法
解决js下referer兼容各大浏览器的方法
js实现点击按钮后给Div图层设置随机背景颜色的方法
浅析MYSQL REPEATABLE-READ隔离级别
扩展KMP算法(Extend KMP)
防止Xen VPS用户自己修改IP地址的方法
快速导航
PHP MySQL HTML CSS JavaScript MSSQL AJAX .NET JSP Linux Mac ASP 服务器 SQL jQuery C# C++ java Android IOS oracle MongoDB SQLite wamp 交通频道 作文范文 咏史诗。官渡 晨跑作文700字 小学五年级作文350字:春之序曲 2013年党员党委年终总结 对联的形式特点 小学三年级作文800字:邪灵降世5 初中初三作文800字:生命的坚强 2015年中考作文预测:人生应永不言弃作文700字 当我走进大森林作文200字 爱是一种戒不掉的瘾 魔鬼中的天使作文 最新配送员个人总结 离别的礼物教学反思 初中初三作文800字:全能学校 中秋望月独伤怀 计生委精神文明工作总结 县委党校教学培训工作再上新台阶 那片昙花 读《山高水长》有感:深切缅怀聂荣臻元帅 大力弘扬“两弹一星”精神 小学作文美丽的夏天 郊外田野 2012年个人工作总结(财务工作) 五一节祝福语12 小学六年级作文550字:假文盲2 小学三年级山茶花作文:有趣的山茶花 高中高三作文1000字:网络,是天使?还是魔鬼? 2017年二年级班主任工作计划 人大常委会工作总结 别管自己心里有多苦,也要微笑着对别人说;“我很好。” 小学六年级作文550字:我们的板房学校 何以琛语录摘抄 2014社会实践报告800字 学习江泽民文选和胡锦涛讲话的心得和要求部署 乐地散文集《苦丁香和她的伙伴们》——剩饭风波(外一章) 写事的作文400字 我最激动的时候 理想与信念的好句子|理想与信念的好句子作文素材 想念,却不想见的人 倾情诗文(六首) 小学五年级作文600字:黄昏(转载) 祖国,我爱你——《我的祖国》读后感1000字 小学六年级作文700字:读书光辉史 高中学习总结 职场内向谬论 一扇门 一座城 只因心守一座城 临江王节士歌李白 我懂得了成长的滋味作文600字 小学六年级作文550字:“六一”真难过 拭去心窗上的尘埃 Butterfly 等一个人,陪我一生。

Copyright © 2016 phpStudy |