高质量JavaScript代码书写基本要点
2010-10-25 12:58:02 来源:WEB开发网核心提示:忘记var的副作用(Side Effects When Forgetting var)隐式全局变量和明确定义的全局变量间有些小的差异,就是通过delete操作符让变量未定义的能力,高质量JavaScript代码书写基本要点(4),» 通过var创建的全局变量(任何函数之外的程序中创建)是不能被删除的,&ra
忘记var的副作用(Side Effects When Forgetting var)
隐式全局变量和明确定义的全局变量间有些小的差异,就是通过delete操作符让变量未定义的能力。
» 通过var创建的全局变量(任何函数之外的程序中创建)是不能被删除的。
» 无var创建的隐式全局变量(无视是否在函数中创建)是能被删除的。
这表明,在技术上,隐式全局变量并不是真正的全局变量,但它们是全局对象的属性。属性是可以通过delete操作符删除的,而变量是不能的:
// 定义三个全局变量
var global_var = 1;
global_novar = 2; // 反面教材
(function () {
global_fromfunc = 3; // 反面教材
}());
// 试图删除
delete global_var; // false
delete global_novar; // true
delete global_fromfunc; // true
// 测试该删除
typeof global_var; // "number"
typeof global_novar; // "undefined"
typeof global_fromfunc; // "undefined"
在ES5严格模式下,未声明的变量(如在前面的代码片段中的两个反面教材)工作时会抛出一个错误。
访问全局对象(Access to the Global Object)
Tags:高质量 JavaScript 代码
编辑录入:爽爽 [复制链接] [打 印]更多精彩
赞助商链接