javascript !funciton



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" 是什么意思?

avascript 的 "!function" 是什么意思?

155****4049  |  浏览 35612 次  |举报
我有更好的答案
推荐于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>&amp;lt;textarea&amp;gt;&amp;lt;/textarea&amp;gt;这个"&+lt"去掉加号百度就误认为"<"符号
追答
我不清楚你的追问有什么意义
追问
“&#47” 像什么符号

其他回答

叹号后面跟函数!function
和加号后面跟函数+function
都是跟(function(){})();这个函数是一个意思,都是告诉浏览器自动运行这个匿名函数的,因为!+()这些符号的运算符是最高的,所以会先运行它们后面的函数
 本回答被提问者采纳
kkhh123456789    |  推荐于2017-10-06 09:38:27
举报|  评论(7) 
181  11
基本上就是吓唬人的意思!
还有比如x=x||{};
(function(){})();
没什么屁大的用!就是酷一点而已!







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" 是什么意思?
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值