(面试题)js运算优先级a.x = a = {n:2};

2023-11-07

题目:

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

这里不卖关子,直接看结果:

undefined
{ n: 2 }
{ n: 1, x: { n: 2 } }
{ n: 2 }

流程分析:
在这里插入图片描述
第一步:
声明了变量a,指向对象{n:1},这里取名为o

第二步:
声明变量b,将a的地址赋值给b,此时a和b指向同一块内存区域o

第三步:
由于js的运算优先级,a.x优先执行,我们在o上面定义x属性

第四步:
赋值操作的执行顺序从右往左,将{n:2}赋值给变量a,此时a的地址指向{n:2} 命名为o1,同时将{n:2}赋值给o.x。

至此:

console.log(a.x);
a指向了内存区域o1,o1上没有x属性,因此输出undefined

console.log(a);
a指向o1,输出{n:2}

console.log(b);
b指向o,输出{n:1,x:{n:2}}

console.log(b.x);
b指向o,o = {n:1,x:{n:2}},输出{ n: 2 }

以上纯属个人理解,如有错误的地方,恳请指正。

附:
优先级运算表:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

(面试题)js运算优先级a.x = a = {n:2}; 的相关文章

随机推荐

  • 预见2020关键一年

    12月28日 以 预见2020 区块链关键一年 为主题的2019年第二届中国区块链产业经济年会在北京国际金融博物馆隆重举行 本次大会在中国移动通信联合会区块链专委会 中关村大数据产业联盟 中国电子商会区块链专委会的指导下 由全球领先的区块链
  • sc不为内部或外部命令

    tomcat 注册服务 sc config netman start auto sc 不为内部或外部命令 解决方法 用管理员权限打开cmd C Windows cmd exe
  • iframe设置cookie_惊艳面试官的 Cookie 介绍

    关注在看 以后更多干货分享在头条 Cookie 是什么 Cookie 是用户浏览器保存在本地的一小块数据 它会在浏览器下次向同一服务器再发起请求时被携带并发送到服务器上 Cookie 主要用于以下三个方面 会话状态管理 如用户登录状态 购物
  • linux系统下“rwx“的概念及用法~

    我们知道 一个文件它的权限情况是怎样的 可以使用用 ls l 查看详细信息这样一条指令 但显示出来的 rwxrwxrwx 究竟是什么意思呢 就让我们来了解一下 r read 读 对文件查看该源文件内容 对目录有查看的权限 w white 写
  • nacos--基础--1.3--理论--架构

    nacos 基础 1 3 理论 架构 1 基本架构及概念 1 1 服务 Service 是指一个或一组软件功能 例如特定信息的检索或一组操作的执行 其目的是不同的客户端可以为不同的目的重用 例如通过跨进程的网络调用 Nacos 支持主流的服
  • easyui 修改window title 正确用法 亲测

    错误用法 mySoftModal panel title 修改title 出现问题 不能拖拽 正确使用方法 mySoftModal window open mySoftModal window draggable true title 添加
  • 学校计算机数量减少说明,一类院校减少但招生量大涨,计算机的同学别慌

    计算机 软件工程 物联网工程 数字媒体技术 网络工程 这5个联考专业是理工类第一大专业 2019年100分以上人数达到3413 相信2020年人数也会平稳增长 同时 一类院校全部停招 充满了竞争的火药味儿 数据解读 2019年 计算机等联考
  • Qt中常见的坐标位置函数的梳理包括x、y、pos()、rect()、size()和geometry()等

    Qt中常见的坐标位置函数的梳理包括x0 y pos rect size 和geometry 等 1 画图梳理 x0 y0和pos 函数的作用都是获得整个窗体左上角的坐标位置 frameGeometr与 函 数与geometry 函数相对应
  • tensorflow学习笔记(三十):tf.gradients 与 tf.stop_gradient() 与 高阶导数

    gradient tensorflow中有一个计算梯度的函数tf gradients ys xs 要注意的是 xs中的x必须要与ys相关 不相关的话 会报错 代码中定义了两个变量w1 w2 但res只与w1相关 wrong import t
  • C语言实现字符串逆序输出

    键盘输入一个字符串 实现逆序输出 刚看到题的时候想到了交换两边的字符 然后实现逆序输出 但是有思路却不知道怎么来实现 通过在CSDN里面搜索 看了别人对这个题的实现 才豁然开朗 然后关了CSDN界面 自己动手在VSCode里面写 中间还碰到
  • Python 自动化收取蚂蚁森林能量,不错过暗恋的她(附源码)

    作者 锅g头来源 Crossin的编程教室 最近在家远程工作 结果作息更混乱了 早上起不来 导致我蚂蚁森林能量天天被偷 严重影响我沙漠造树 大业 于是我决定用python写个自动偷能量的程序 每天早上定时偷取好友能量 称霸 蚂蚁森林 本文仅
  • Pygame中的两种键盘按键捕获方式

    在Pygame中 针对键盘按键的捕获 有两种 第一种 判断event type pygame KEYDOWN if event type pygame KEYDOWN and event key pygame K RIGHT print 向
  • apifox自动生成接口文档(支持外部访问)

    快速上手 Apifox 帮助文档 项目场景 目前负责一个外部的项目 类似于总部提供接口给分公司的开发 由于内网限制 网络安全 某些原因导致swagger等接口文档不能访问 于是考虑使用 ApiFox 使用原因 网上综合评论都是 效率 查看
  • SpringBoot文件上传与下载

    实现文件上传与下载功能 主要涉及5个文件 maven配置文件pom xml application yml配置文件 用户交互界面index jsp UpanddownController控制层代码 启动文件Application githu
  • Python中的ThreadPoolExecutor

    ThreadPoolExecutor 是 Python 的 concurrent futures 模块中提供的一个类 用于创建线程池 从而在多线程环境中并发地执行任务 ThreadPoolExecutor 提供了一种高级的接口来异步地提交任
  • Design compiler 和 Prime time的区别

    相信很多新手同学在接触数字IC不久一定会有过这样的疑问 design compiler和 prime time 它两的区别是啥 如果你没有过 那你好好反思一下 既然design compiler 可以report path的timing 那
  • 基础实验 3-2.1 一元多项式求导 (20 分)

    设计函数求一元多项式的导数 输入格式 以指数递降方式输入多项式非零项系数和指数 绝对值均为不超过1000的整数 数字间以空格分隔 输出格式 以与输入相同的格式输出导数多项式非零项的系数和指数 数字间以空格分隔 但结尾不能有多余空格 输入样例
  • 【Qt开发经验】Qt信号槽连接不成功问题原因汇总

    以下几种情况会导致信号槽连接不成功 下面分别描述 1 拥有信号槽的类 必须继承QObject 声明Q OBJECT宏 Qt帮助手册里搜索 Signals Slots 可以看到以下说明 想要使用信号槽 必须继承QObject 必须加Q OBJ
  • mpvue 多次进入同一个页面发生卡顿

    问题 又遇到一个问题 在小程序的首页是抽奖列表 不断的进入首页 选择不同的奖品进入详情页 多次进入同一个页面发生卡顿 Vue 3 prototype updateDataToMP这个函数在被递增式调用 所以当页面数据复杂 或者是客户端手机性
  • (面试题)js运算优先级a.x = a = {n:2};

    题目 var a n 1 var b a a x a n 2 console log a x console log a console log b console log b x 这里不卖关子 直接看结果 undefined n 2 n