javascript自执行函数表达式
2016-04-01 10:34
316 查看
解析器在解析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 */ } ();
// 下面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 */ } ();
相关文章推荐
- js每3位逗号分隔数字
- JavaScript之DOM-8 Event对象(事件概述、事件处理、event对象)
- Javascript 类与静态类的实现-js面向对象
- js 操作cookie 添加, 获取, 删除
- ajax跨域获取数据解决方案---JSON
- 时间和日期新API(JSR310)
- 使用Gson解析复杂的json数据
- JS Debug
- JS中frameset框架弹出层实例代码
- 简洁的onchange事件动态添加input
- JS备忘录
- 【笔记】 《js权威指南》- 第1章 JS概述 - 1.2 客户端JS
- jsp cms网店系统即将诞生。。。敬请期待。。。。
- JS操作COOKIE实现备忘记录的方法
- Atitit.js的键盘按键事件捆绑and事件调度
- 原生js创建一个div层
- JS中多步骤多分步的StepJump组件实例详解
- JS判断对象是不是数组“Array”
- js获取项目路径
- JSON练习