In javascript why we use var for declaring variable?
本问题已经有最佳答案,请猛点这里访问。
我一直在使用javascript& jQuery一个月。 但我仍然没有得到使用
1 2 | var data = 10; data = 10; |
上面两个陈述有什么区别? 为什么? 请详细向我解释。
区别在于使用"var"关键字在当前范围内声明变量。在顶级范围(窗口),您当然不会注意到太大的区别。我认为一个例子使得更清楚:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | // declares"data" on window scope var data = 10; function foo() { // overwrites the"global" data to 20. data = 20; // declares a scoped variable"scopedData" inside of this function and sets it to 25 var scopedData = 25; alert(data); alert(scopedData); } // scoped data is undefined here because it was scoped to the function. alert(scopedData); |
另请注意,所有"var"声明都必须在其作用域内是唯一的,并且执行将向上移动到作用域的开头。
有关更多信息,请参阅此文章:http://www.adequatelygood.com/JavaScript-Scoping-and-Hoisting.html
声明不带
不用说,这会造成很多麻烦,应该避免。
使用
我们使用它是因为它是一种提高可读性的语言结构,它源于"较旧的"动态类型语言(例如Beginners All Symbolic Instruction Code,又名basic。)
var类似于语法角度的基本'dim'语句。
使用它是一种良好的做法,因为如果在范围内省略它,它将传播到全局范围(尽管如果在全局范围内使用则绝对没有效果。)