javascript 的 "!function" 是什么意思?
javascript 的 "!function" 是什么意思?
https://zhidao.baidu.com/question/1238250276851537819.html
javascript 的 "!function" 是什么意思?
自执行匿名函数
- 常见格式:(function(){ /* code */ })();
- 解释:包围函数(function(){ /* code */ })的第一对括号向脚本返回未命名的函数,随后一对空括号立即执行返回的未命名函数,括号内为匿名函数的参数。
- 作用:可以用它创建命名空间,只要把自己的所有代码都写在这个特殊的函数包装内,那么外部就不能访问,除非你允许(变量前加上window,这样该函数后变量就成为全局)。各JavaScript库的代码也基本上是这种组织形式。
总结一下,执行函数的作用主要为匿名和自动执行,代码在被解释时就已经在运行了。
写法总结:
(function(){ /* code */ }());
!function(){ /* code */ }();
~function(){ /* code */ }();
-function(){ /* code */ }();
+function(){ /* code */ }();
- 1
- 2
- 3
- 4
- 5
本文转载自:http://www.cnblogs.com/beijingstruggle/p/5970824.html
javascript 的 "!function" 是什么意思?
自执行匿名函数
- 常见格式:(function(){ /* code */ })();
- 解释:包围函数(function(){ /* code */ })的第一对括号向脚本返回未命名的函数,随后一对空括号立即执行返回的未命名函数,括号内为匿名函数的参数。
- 作用:可以用它创建命名空间,只要把自己的所有代码都写在这个特殊的函数包装内,那么外部就不能访问,除非你允许(变量前加上window,这样该函数后变量就成为全局)。各JavaScript库的代码也基本上是这种组织形式。
总结一下,执行函数的作用主要为匿名和自动执行,代码在被解释时就已经在运行了。
写法总结:
(function(){ /* code */ }());
!function(){ /* code */ }();
~function(){ /* code */ }();
-function(){ /* code */ }();
+function(){ /* code */ }();
- 1
- 2
- 3
- 4
- 5
本文转载自:http://www.cnblogs.com/beijingstruggle/p/5970824.html
javascript 的 "!function" 是什么意思?
推荐于2017-09-29 02:53:55
最佳答案
这种叫自执行函数表达式
在这种情况下,解析器在解析function关键字的时候,会将相应的代码解析成function表达式,而不是function声明。
// 下面2个括弧()都会立即执行
(function () { /* code */ } ()); // 推荐使用这个
(function () { /* code */ })(); // 但是这个也是可以用的
// 由于括弧()和JS的&&,异或,逗号等操作符是在函数表达式和函数声明上消除歧义的
// 所以一旦解析器知道其中一个已经是表达式了,其它的也都默认为表达式了
var i = function () { return 10; } ();
true && function () { /* code */ } ();
0, function () { /* code */ } ();
// 如果你不在意返回值,或者不怕难以阅读
// 你甚至可以在function前面加一元操作符号
!function () { /* code */ } ();
~function () { /* code */ } ();
-function () { /* code */ } ();
+function () { /* code */ } ();
追问
<textarea>&lt;textarea&gt;&lt;/textarea&gt;这个"&+lt"去掉加号百度就误认为"<"符号
追答
我不清楚你的追问有什么意义
追问
“/” 像什么符号
其他回答
叹号后面跟函数!function
和加号后面跟函数+function
都是跟(function(){})();这个函数是一个意思,都是告诉浏览器自动运行这个匿名函数的,因为!+()这些符号的运算符是最高的,所以会先运行它们后面的函数
和加号后面跟函数+function
都是跟(function(){})();这个函数是一个意思,都是告诉浏览器自动运行这个匿名函数的,因为!+()这些符号的运算符是最高的,所以会先运行它们后面的函数
本回答被提问者采纳
javascript 的 "!function" 是什么意思?
自执行匿名函数
- 常见格式:(function(){ /* code */ })();
- 解释:包围函数(function(){ /* code */ })的第一对括号向脚本返回未命名的函数,随后一对空括号立即执行返回的未命名函数,括号内为匿名函数的参数。
- 作用:可以用它创建命名空间,只要把自己的所有代码都写在这个特殊的函数包装内,那么外部就不能访问,除非你允许(变量前加上window,这样该函数后变量就成为全局)。各JavaScript库的代码也基本上是这种组织形式。
总结一下,执行函数的作用主要为匿名和自动执行,代码在被解释时就已经在运行了。
写法总结:
(function(){ /* code */ }());
!function(){ /* code */ }();
~function(){ /* code */ }();
-function(){ /* code */ }();
+function(){ /* code */ }();
- 1
- 2
- 3
- 4
- 5