Dreaman Tu
Dreaman Tu
思考题第二题: ``` console.log(foo); function foo(){ console.log("foo"); } var foo = 1; ``` 解: JavaScript发现了`一段可执行代码(executable code)`,准备创建对应的`执行上下文(execution context)`: > 在此之前 因为JavaScript的**函数提升**特性,将代码等量变换为:(1) ``` function foo(){// 函数提升 console.log("foo"); } console.log(foo); var foo = 1;...
``` console.log(foo); function foo(){ console.log("foo"); } var foo = 1; ``` ``` console.log(foo); var foo = 1; function foo(){ console.log("foo"); } ``` 另外,以上两处代码得出的结论一样,说明: > 同一作用域下,函数提升比变量提升得更靠前. 大家知道的微微一笑就好了:)
@mqyqingfeng 我对于**参数传递方式**的学习路径就是: > 在你这学的... 但是在了解到这个知识点之前,我大致也明白参数传递的形式. 关键点: > 运算符`=`就是**创建或修改**变量在内存中的指向. 初始化变量时为创建,重新赋值即为修改. 首先一个非常简单的例子: ``` var a = {b: 1};// a = {b: 1} var c = a;// c = {b: 1} a =...
@mqyqingfeng 感觉`(false || obj.b)()`像是一个`自调用立执行函数`,所以是`函数调用模式`.