2018年10月6日
摘要: ES5 之中,顶层对象的属性与全局变量是等价的。 顶层对象的属性与全局变量挂钩,被认为是 JavaScript 语言最大的设计败笔之一。这样的设计带来了几个很大的问题,首先是没法在编译时就报出变量未声明的错误,只有运行时才能知道(因为全局变量可能是顶层对象的属性创造的,而属性的创造是动态的);其次, 阅读全文
posted @ 2018-10-06 19:18 丝瓜~ 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 函数能不能在块级作用域之中声明?这是一个相当令人混淆的问题。 ES5 规定,函数只能在顶层作用域和函数作用域之中声明,不能在块级作用域声明。 上面两种函数声明,根据 ES5 的规定都是非法的。 但是,浏览器没有遵守这个规定,为了兼容以前的旧代码,还是支持在块级作用域之中声明函数,因此上面两种情况实际 阅读全文
posted @ 2018-10-06 14:56 丝瓜~ 阅读(251) 评论(0) 推荐(0) 编辑