javascript - Javascript 范围 - 全局 vs 功能
问题描述
在一个案例中有点怀疑。如果我在全局范围内声明了一个变量,我知道它会附加到窗口对象。
var var1 = 'Apple';
如果我在函数中声明了一个变量,则该变量在函数范围内。
function testFunc() {
var var2 = 'zebra';
}
但是如果我调用一个函数并传递一个参数,我就知道发生了赋值操作。
eg 1) function testFunct(param1) {
console.log('which scope is param1');
}
testFunct('Mango');
我知道赋值操作 var param1 = 'Mango'; 发生,但在哪里?在调用地点或调用时?param1 的范围是什么,全局的还是函数的。
如果在调用中声明并传递了一个全局变量,
eg 2) function someFucntionCall(param) {
console.log('what is the scope of param here');
}
var someVar = 'Merc';
someFucntionCall(someVar); //global variable declared and passed in function invocation
这里 param 的范围是什么?在这些中有点困惑,在任何地方都找不到合适的解释。