代码如下:
(function () { "use strict"; // Declares strict mode. ... })();
匿名函数原因:
JavaScript 有两个作用域:全局和局部。如果在任何函数定义之外声明变量,则该变量为全局变量,并且在整个程序中都可以访问和修改该变量的值。如果在某个函数定义内声明变量,则该变量为局部变量。该函数之外任何内容都无法访问该变量。
将代码包装在匿名函数中可以使代码变为私有代码。将代码包装在匿名函数中是一个较好的编码做法,因为这样做可以限制代码的作用域,避免破坏全局命名空间。这样做还便于避免命名冲突或不小心修改某值的情况。
虽然 JavaScript 并不支持私有成员,但在使用 JavaScript 编码时,基本上可以通过匿名函数来创建私有成员。
函数声明末尾的额外括号是用来调用匿名函数的。
严格模式:
严格模式可以为 JavaScript 代码提供更好的错误检查。使用 strict 模式时,代码受到的限制比 JavaScript 正常情况下允许的限制更严格。
更多限制可查看:http://msdn.microsoft.com/zh-cn/library/windows/apps/br230269.aspx