JS作用域,这里为什么读不到hello这个变量?

window.onload = function() {
  var hello = 'hello world';
  sayHello();
}
function sayHello() {
  console.log(hello);
}

按理说在调用sayHello函数的时候会先找当前函数内有没有这个变量,没有的话应该往上找找到var hello的呀?
但是如果使用参数,就是正确的。

window.onload = function() {
  var hello = 'hello world';
  sayHello(hello);
}
function sayHello(text) {
  console.log(text);
}
阅读 1.4k
评论
    相似问题
    推荐文章