雨落□心尘

文章 评论 浏览 28

雨落□心尘` 2022-05-04 13:56:07
var a = {n: 1}; // a保持对{n:1}对象的引用
var b = a; // b保持对{n:1}对象的引用
a.x = a = {n: 2}; // a的引用被改变

a.x 	// --> undefined
b.x 	// --> {n: 2}

1、.运算符优先,a.x此时保持对{n: 1}的引用,也就是b也保持对{n: 1}的引用,于是{n: 1} => {n: 1, x: undefined},此时a和b还是对原来对象的引用,只不过原来对象增加了x属性
2、=从右往左,a = {n: 2},此时a的引用已经变成了{n: 2}这个对象
3、a.x=a,此时a.x是保持对{ n: 1, x: undefined}中的x引用,也就是b.x,于是{ n: 1, x: undefined} => {n: 1, x: { n: 2}},即b.x = { n: 2 }

第 53 题:输出以下代码的执行结果并解释为什么

雨落□心尘` 2022-05-04 13:50:49

@mqyqingfeng 看到了,之前邮箱一直没有邮件提醒,我还以为dalao最近没空。从月初开始,每天看2、3篇博客,顺便“找茬”,收获非常大~

JavaScript 专题之类型判断(上)

雨落□心尘` 2022-05-04 13:44:41

看了一楼的解释,我的理解是3-2-1,6-5-4,7-8,三组,难道我理解错了?

对啊,但是我写的是网络上头条的给的题目,头条是链表尾部开始,这个题目是表头开始,原理是类似的

第 138 题:反转链表,每 k 个节点反转一次,不足 k 就保持原有顺序

更多

推荐作者

櫻之舞

文章 0 评论 0

弥枳

文章 0 评论 0

m2429

文章 0 评论 0

野却迷人

文章 0 评论 0

我怀念的。

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文