原文:JavaScript quirk 4: unknown variable names create global variables
译者:justjavac
此文是 javascript 的 12 个怪癖(quirks) 系列的第四篇。
当你使用了一个未知的变量名,通常 JavaScript 会自动创建全局变量:
function f() { foo = 123 } f() foo 123
好在你会在 ECMAScript5 的严谨模式得到警告[1]:
function f() { 'use strict'; foo = 123 } f() ReferenceError: foo is not defined

本文介绍JavaScript中一个有趣的特性:如果在一个作用域内使用了未声明的变量,JavaScript会将其作为全局变量处理。但在ECMAScript5的严格模式下,这种行为将引发错误。

被折叠的 条评论
为什么被折叠?



