[英]Unable to understand certain concepts in JavaScript
在该段上方,您可以找到以下内容:
HTML中的全局变量使用JavaScript,全局范围就是完整的JavaScript环境。
在HTML中,全局范围是window对象。 所有全局变量都属于window对象。
结合问题中的引号-这意味着由于全局范围实际上是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'
这就是为什么通常最好的做法是不要在global( window
)范围内创建变量。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.