Javascript 引导JS函数定义
在BootstrapJS(我检查了3.2.0版)中,一些函数定义最初有一个加号,并且Javascript 引导JS函数定义,javascript,twitter-bootstrap,Javascript,Twitter Bootstrap,在BootstrapJS(我检查了3.2.0版)中,一些函数定义最初有一个加号,并且使用strict'如下所示: +function ($) { 'use strict'; ... } “严格使用”我猜可能是AMD定义语法。有人能解释一下这个语法和含义吗?在哪里使用这个模式更好? 谢谢 更新:似乎+号(或任意一元运算符)用于将函数声明转换为表达式。查看此处了解更多信息:“严格模式使编写“安全”JavaScript更容易 严格模式将以前接受的“错误语法”更改为实际错误 例如,在普通Ja
使用strict'代码>如下所示:
+function ($) {
'use strict';
...
}
“严格使用”代码>我猜可能是AMD定义语法。有人能解释一下这个语法和含义吗?在哪里使用这个模式更好?
谢谢
更新:似乎+号(或任意一元运算符)用于将函数声明转换为表达式。查看此处了解更多信息:“严格模式使编写“安全”JavaScript更容易
严格模式将以前接受的“错误语法”更改为实际错误
例如,在普通JavaScript中,错误输入变量名会创建一个新的全局变量。在严格模式下,这将抛出一个错误,使得不可能意外地创建一个全局变量
在普通JavaScript中,开发人员将不会收到任何错误反馈,将值分配给不可写属性
在严格模式下,对不可写属性、仅getter属性、不存在属性、不存在变量或不存在对象的任何赋值都将抛出错误。“
+符号强制功能自动运行,例如google正在使用!反而
这可能是一种生活,你错过了调用函数+function(){}()
的参数use strict
与AMD无关,这里的定义就是“+函数($){…}(jQuery);”没有遗漏任何内容。你可以在这里自己检查:对,你没有在问题中加括号,这使得+函数($){}
没有意义。加号+
或任何其他一元运算符将执行+function(){}(),~function(){}()!函数(){}(),…
谢谢。函数关键字前面的+符号是什么意思。它是闭包语法的替代语法吗?它的强制功能自动运行,例如google正在使用!反而+