美文网首页
面试题总结

面试题总结

作者: yokohu | 来源:发表于2018-07-12 10:32 被阅读0次

1. js连等复制运算
var a = {n: 1};
var b = a;
a.x = a = {n: 2};
alert(a.x); // --> undefined
alert(b.x); // --> {n: 2}


解析:参考 https://segmentfault.com/a/1190000004224719#articleHeader0

(1)理论
JS引擎是怎样计算一般的赋值表达式 A = B的呢?简单地说,按如下步骤:

  1. 计算表达式A,得到一个引用refA;
  2. 计算表达式B,得到一个值valueB;
  3. 将valueB赋给refA指向的名称绑定;
  4. 返回valueB。

(2)思路
设:[X]表:X的内存应用
[N1]=>[N:1]
[N2]=>[N:2]

a.x = a = {n: 2};
这里会被翻译成
[N1].x=(a=[N2]) (括号里面为右值运算 所以这里就是把a变量的内存地址改向[N2])
=>
[N1.]X=[N2]
a=[N2]
b=N1
=>
a=[N2]
a.x=[N2].x(然而N2不存在X值 所以指向undefined)
b.x=[N1].x=[N2]

相关文章

  • Java面试题汇总

    Java面试题总结 Java面试题总结一Java面试题总结二

  • iOS经典面试题总结--内存管理

    iOS经典面试题总结--内存管理 iOS经典面试题总结--内存管理

  • iOS RunLoop 总结以及相关面试题解答

    iOS RunLoop 总结以及相关面试题解答 iOS RunLoop 总结以及相关面试题解答

  • Paper Collection - InInterview

    ios 面试题 经典(比较全) 根据重点总结(总结的题还是比较多的,有答案) sunnyxx的面试题 很全的面试题目

  • JavaScript面试题整理(1)

    做面试题就是要做经典的面试题,通过这些具有代表性的面试题来学习与总结,从而掌握相同类型的题目。 对于面试题的总结与...

  • 2020年,精选大厂的iOS面试题总结(一)

    iOS面试题目录(一) 精选大厂的iOS面试题总结(一)精选大厂的iOS面试题总结(二) 1. iOS内存管理机制...

  • 面试题

    关注的面试题文集 Android面试题整理 Android工程师面试题大全 Android 面试题总结之Andro...

  • 面试题转载

    iOS面试了20几家总结出来的面试题iOS面试了20几家总结出来的面试题(二)

  • Handler面试题总结

    面试题总结 Handler是一个比较重要的东西,所以把网上发的Handler中的面试题总结了一下,这些面试题没问题...

  • java script 1

    1 史上最全的Javascript面试题总结 史上最全的Javascript面试题总结 1 未声明和未定义? 未声...

网友评论

      本文标题:面试题总结

      本文链接:https://www.haomeiwen.com/subject/zpylpftx.html