JavaScript模式
2017-11-05 本文已影响0人
SongLiang
第二章 基本技巧
尽量少使用全局变量
JavaScript 使用函数管理作用域。变量在函数内声明,只在函数内有效,不能在外部使用。全局变量与之相反,在函数外部声明,在函数内无需声明即可很简单地使用。
每一个 JavaScript 环境都有全局变量,可在函数外部使用 this 进行访问。创建的每一个全局变量都为全局对象所有。在浏览器中,为了方便,使用 window 表示全局变量本身。下面的代码片段表明在浏览器环境中如何创建和访问全局变量。
myglobal = "hello" // 反模式
console.log(myglobal) // "你好"
console.log(window.myglobal) // "你好"
console.log(window["myglobal"]) // "你好"
全局变量的问题
全局变量的问题在于它们在整个JavaScript应用或Web页面内共享。它们生存于同一个全局命名空间内,总有可能发生命名冲突。
譬如:
某个第三方脚本定义了一个全局变量result,后来又在某个函数里定义了另一个全局变量,也叫result。