js函数写法

匿名函数写法:

1.优先表达式:由于javascript执行表达式是从圆括号里面到外面,所以可以用圆括号强制执行声明的函数

(function(){

alert(2);

})()

2.Void操作符: 用void操作符去执行一个没有圆括号包围的一个单独操作数。

void function(){

alert(3);

}()

3.方式三


~function(){
//…
}();

位运算符都能立即返回后面表达式的值。其实其他位运算符都可以达到这样的目的,例如:
!function(){
//…
}();

等都可以达到我们的目的。所以其实用“~”也并无其他的原因,仅仅是代码“看着好看”而已 :)

综合代码量以及效率等情况考虑,用 方式一 没错的;在需要额外节省代码的极端情况,用 方式三;考虑效率优先,那么使用 方式二。这里要说明下,其实三种方式效率之间的差异非常小,因此单纯拿效率来考虑采用那种方式,几乎是站不住脚的。

JS声明函数大体上有三种方法:

1.常规写法

Java代码

fucntionfuncName(var1,var2......){

//addyoucodehere

}

2.匿名函数写法

Java代码

varfuncName=function(var1,var2....){

//addyoucodehere

}

3.构造函数法

Java代码

varfuncName=newFunction("x","y","alert(x+y);");

### JavaScript 中立即执行函数 (IIFE) 的正确写法及示例 #### 定义与作用 立即执行函数表达式(Immediately Invoked Function Expression, IIFE)是一种在定义之后马上被执行的函数。这种模式有助于创建局部作用域,防止变量污染全局命名空间[^1]。 #### 基本结构 IIFE的基本结构是在一对圆括号内定义一个匿名函数,并在其后的另一对圆括号中调用该函数: ```javascript (function () { // 执行代码... })(); ``` 为了使解析器能够区分这是一个表达式而不是声明,在最外层加上额外的一组圆括号是一个常见的做法[^2]。 #### 参数传递 可以在调用时向IIFE内部传递参数,这些参数会被当作形参接收并可在函数体内使用: ```javascript (function(global){ global.console.log("This is an example of passing parameters to an IIFE"); })(this); ``` 这里`global`就是接收到的一个外部传入的对象实例,通常用于访问全局对象或其他上下文环境[^5]。 #### 不同形式的例子 以下是几种不同风格的IIFE实现方式及其应用场景: - **简单版** ```javascript (function(){ console.log('Simplest form'); })(); ``` - **带参数版本** ```javascript (function(name){ console.log(`Hello ${name}`); })('World'); ``` - **严格模式支持** ```javascript ;(function(){ "use strict"; let msg = 'Strict mode enabled'; console.log(msg); }()); ``` 注意前面加了一个分号`;`,这是为了避免与其他可能存在的语句混淆,特别是在压缩过的脚本文件里[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值