javascript 的 "!function" 是什么意思?
来源:互联网 发布:linux etc是什么意思 编辑:程序博客网 时间:2024/04/30 06:16
javascript 的 "!function" 是什么意思?
专业回答
这种叫自执行函数表达式
在这种情况下,解析器在解析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 */ } ();
在这种情况下,解析器在解析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 */ } ();
--------------------------------
注意后面加();调用
<script>
var d=3;
var c=31;
e = function(){alert('b')};
//e();
(function(){ c=1,d=2,e();}());
//aa();
alert(c);
</script>
var d=3;
var c=31;
e = function(){alert('b')};
//e();
(function(){ c=1,d=2,e();}());
//aa();
alert(c);
</script>
0 0
- javascript 的 "!function" 是什么意思?
- javascript 的 "!function" 是什么意思?
- javascript中(function($){...})(jQuery)写法是什么意思
- javascript中(function($){...})(jQuery)写法是什么意思
- !function(){}() ” 是什么意思
- function里面的两个参数是什么意思?
- JavaScript里面的prototype是什么意思
- 常用的javascript function
- 常用的javascript function
- JavaScript的function
- javascript的function
- javascript的函数function
- 常用的javascript function
- javascript的Function类型
- JavaScript的Function 类型
- (function($){...})(jQuery)是什么意思
- function &instance(){} &是什么意思?
- (function($){...})(jQuery)是什么意思
- Android Fragment 真正的完全解析(下)
- C++中pair的用法
- 点击图片放大大图动画
- Hibernate缓存☞一级缓存
- 线程(下)
- javascript 的 "!function" 是什么意思?
- Hadoop集群(第1期)CentOS安装配置
- 批量处理pcm裸数据,加入头信息生成wav格式
- 个人独立网站
- Hibernate缓存☞二级缓存
- 输入法显示时,浮窗要求被输入法盖住
- Java泛型
- Hibernate缓存☞查询缓存
- OFDM之viterbi译码