win8:匿名函数与严格模式

简介:

代码如下:

复制代码
(function () {
    "use strict"; // Declares strict mode. 

    ...

})();
复制代码

匿名函数原因:

JavaScript 有两个作用域:全局和局部。如果在任何函数定义之外声明变量,则该变量为全局变量,并且在整个程序中都可以访问和修改该变量的值。如果在某个函数定义内声明变量,则该变量为局部变量。该函数之外任何内容都无法访问该变量。

将代码包装在匿名函数中可以使代码变为私有代码。将代码包装在匿名函数中是一个较好的编码做法,因为这样做可以限制代码的作用域,避免破坏全局命名空间。这样做还便于避免命名冲突或不小心修改某值的情况。

虽然 JavaScript 并不支持私有成员,但在使用 JavaScript 编码时,基本上可以通过匿名函数来创建私有成员。

函数声明末尾的额外括号是用来调用匿名函数的。

严格模式:

严格模式可以为 JavaScript 代码提供更好的错误检查。使用 strict 模式时,代码受到的限制比 JavaScript 正常情况下允许的限制更严格。

更多限制可查看:http://msdn.microsoft.com/zh-cn/library/windows/apps/br230269.aspx

   本文转自老Zhan博客园博客,原文链接:http://www.cnblogs.com/mybkn/archive/2012/09/23/2699087.html,如需转载请自行联系原作者
相关文章
|
4月前
|
JavaScript 前端开发 开发者
JavaScript的变量提升是一种编译阶段的行为,它将`var`声明的变量和函数声明移至作用域顶部。
【6月更文挑战第27天】JavaScript的变量提升是一种编译阶段的行为,它将`var`声明的变量和函数声明移至作用域顶部。变量默认值为`undefined`,函数则整体提升。`let`和`const`不在提升范围内,存在暂时性死区。现代实践推荐明确声明位置以减少误解。
37 2
|
1月前
|
存储 JavaScript 前端开发
|
5月前
|
安全 JavaScript 前端开发
和为严格模式
和为严格模式
|
JavaScript 前端开发
JavaScript的函数严格模式
首先,严格模式要求命名函数参数必须唯一。看下面的例子:
57 0
|
前端开发
前端学习案例-严格模式4-函数中的严格模式2
前端学习案例-严格模式4-函数中的严格模式2
54 0
前端学习案例-严格模式4-函数中的严格模式2
|
前端开发
前端学习案例-严格模式3-函数中的严格模式1
前端学习案例-严格模式3-函数中的严格模式1
43 0
前端学习案例-严格模式3-函数中的严格模式1
|
JavaScript 前端开发 安全
为什么使用严格模式
为什么使用严格模式:
69 0
严格模式的限制
严格模式的限制
49 0
|
JavaScript 前端开发
JavaScript函数篇之ES6箭头函数与匿名函数
对于箭头函数,this 关键字始终表示定义箭头函数的对象。
134 0
|
JavaScript 前端开发
【JavaScript】21_debug,立即执行函数 与 严格模式
# 14、debug ```html <script> //debugger // 在代码中打了一个断点 console.log(a) // 2 var a = 1 console.log(a) // 1 function a() { alert(2) } console.log(a) // 1 var a = 3
89 0