js小题目

话不多说,上图。

打印答案:Larry.

内存图:

解析:因为function出现在开头,并未被调用,因此先在栈区开辟一个obj变量,然后name设为tom.function函数传入参数后,将参数的name变为Larry。因此打印出的是Larry。

小测试二:(可能会在面试中问到)

打印答案:Terry,tom

内存图:

解析:因为function出现在开头,并未被调用,因此先在栈区开辟一个person变量,指向堆区的{name:....},function函数传入参数后,将name变为tom,并且重新定义了一个变量,指针发生变化。指向{name:terry}.看图可知,答案便是Terry和tom.

原文地址:https://www.cnblogs.com/yangnansuper/p/13535286.html