JavaScript的匿名方法书写模式
2009-06-12 22:02
330 查看
Code patterns for anonymous function
There are several ways to write anonymous function匿名函数的书写方式有很多种
The Bad Pattern : It won't work and you'll get a syntax error
糟糕的模式:不但不会运行,还会有语法错误<script>
function(){
alert(1);
}();
</script>
Pattern 1 : Function Literal
模式1:直接写成方法调用Declare Function as an Object first then execute it.
先声明一个匿名方法然后立即执行
<script>
(function(){
alert(1);
} ) ( );
</script>
Pattern 2 : Prior Expression
模式2:利用表达式优先级Use parentheses to force a declared function to be executed since
JavaScript evaluates expressions from the inner parentheses to outer
parentheses
使用圆括号来强制执行一个声明了的方法。
<script>
( function(){
alert(2);
} ( ) );
</script>
Pattern 3 : Void Operator
模式3:使用void操作符We can use "void" to evaluate a lone operand without using parentheses as the wrapper. of function
这个真没看懂说的是什么意思……
<script>
void function(){
alert(3);
}()
</script>
Conclusion
建议Technically these three patterns are equivalent, but I do prefer the pattern 3 for my own reasons.
从技术上讲这三个模式是一样的,但从我自身来说更喜欢模式3。
You may review these patterns and see which make sense most for you.
相关文章推荐
- JavaScript中创建对象的方法:工厂模式,构造函数模式, 原型模式
- 可以用作javascript异步模式的编程的方法
- JavaScript实现提交模式窗口后刷新父窗口数据的方法
- 使用匿名方法、迭代器和局部类书写优雅的C#代码(一)(翻译)
- JavaScript的自执行方法和模块模式
- JavaScript中实现异步编程模式的4种方法
- 深入理解JavaScript系列(41):设计模式之模板方法
- JavaScript:用于模式匹配的String方法
- JavaScript知识点之如何使用匿名的方法做条件判断
- 两种方法调用Bootstrap3的Javascript组件:data属性定义和书写JS代码
- Javascript 中创建自定义对象的方法(设计模式)
- 深入理解JavaScript系列(41):设计模式之模板方法
- 深入理解JavaScript系列(41):设计模式之模板方法
- JavaScript 设计模式 - 工厂方法,组合式工厂
- JavaScript控制各种浏览器全屏模式的方法、属性和事件介绍
- JavaScript学习笔记-用于模式匹配的String方法
- JavaScript面向对象的两种书写方法以及差别
- 深入理解JavaScript系列(41):设计模式之模板方法
- 深入理解JavaScript系列(41):设计模式之模板方法