无法理解某些概念在JavaScript
问题描述:
答
上面那款你可以找到这样的:
在HTML 使用JavaScript全局变量,在全球范围内是完整的JavaScript环境。
在HTML中,全局作用域是窗口对象。所有全局变量都属于窗口对象。
与你的问题的联合报价 - 这意味着,由于全球范围实际上是window
对象 - 它可能覆盖全局函数/变量。
下面是一个例子:
console.log(window.Math.PI);
Math = {
PI: 5
}
console.log(Math.PI);
答
浏览器把一定的 “全球性”(即,在任何文件的任何地方可访问的)的window
对象函数和变量。一个这样的例子是函数window.setTimeout
,它在给定的延迟后执行它的参数。
您也可以访问这些全局window.*
变量,而在所有的窗口前缀,即
window.setTimeout === setTimeout
也就是说,如果你分配到一个全局变量有冲突的名称,就可以“覆盖”浏览器默认意味着 -
window.setTimeout === setTimeout
setTimeout = 'myString'
window.setTimeout === 'myString'
这就是为什么它不是在全球(window
)范围内创建变量一般的最佳实践。
找到一个不同的教程。这是解释全球范围概念的一种非常奇怪的方式。 – Brad
我不确定为什么区分变量和函数。函数存储在变量中。 – 4castle