代码如下
var a=1;
function cc(){
a=2;
return a;
function a(){}这个地方是什么意思有什么意义
}
cc();
console.log(a);为什么会输出1
代码如下
var a=1;
function cc(){
a=2;
return a;
function a(){}这个地方是什么意思有什么意义
}
cc();
console.log(a);为什么会输出1
10 回答11.7k 阅读
2 回答3.2k 阅读✓ 已解决
5 回答2.2k 阅读
3 回答1.6k 阅读✓ 已解决
3 回答2.7k 阅读✓ 已解决
5 回答743 阅读
4 回答2.2k 阅读✓ 已解决
这主要是基础知识的应用了。JavaScript对于作用域(Scope)和上下文(Context)的实现是这门语言的一个非常独到的地方,函数可以接收不同的的上下文和作用域。
几个知识点:
函数体内部,局部变量的优先级比同名的全局变量高。
函数中声明的变量在整个函数中都有定义。
函数声明提升,且函数声明提升优于变量声明提升。
JavaScript 解释器“前瞻性”查找所有变量定义,把它们“提升”到函数顶部。所以上面的代码可等价于: