javascript中的函数参数范围

时间:2017-01-25 19:53:50

标签: javascript

Javascript中函数参数的范围是什么

var greetFunc = function(name){
var something;
}

console.log("Hello" +name);
console.log(something);

我理解某些东西的范围只是在函数内部,它不会存在于外部。 但名字呢。为什么名称变量的值为空。

2 个答案:

答案 0 :(得分:3)

在函数外引用name不会像预期的那样抛出错误,因为它实际上是每个页面中的全局变量,是全局window对象的一部分。键入namewindow.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

因此参数的范围是它所属的函数。