Javascript中函数参数的范围是什么
var greetFunc = function(name){
var something;
}
console.log("Hello" +name);
console.log(something);
我理解某些东西的范围只是在函数内部,它不会存在于外部。 但名字呢。为什么名称变量的值为空。
答案 0 :(得分:3)
在函数外引用name
不会像预期的那样抛出错误,因为它实际上是每个页面中的全局变量,是全局window
对象的一部分。键入name
与window.name
相同。
something
变量导致错误,因为它尚未定义。但是,name变量不会导致任何问题,因为默认情况下它是空白的,至少在Chrome中是这样。你是正确的,在函数中创建的变量不存在于它之外。
有关详细信息,请参阅https://developer.mozilla.org/en-US/docs/Web/API/Window/name。
答案 1 :(得分:2)
参数dayVar = $.datepicker.formatDate('M dd, yy', new Date("2017-01-29"));
类似于在函数顶部声明变量name
。
因此参数的范围是它所属的函数。