有很多方法立即执行匿名函数,简单的整理就有下面三种的典型方式(还有其他方式的,欢迎告知):
方式一
(function() {
// …
})();
方式二
void function() {
// …
}();
方式三
~function() {
// …
}();
方式一 和 方式二 大家可能都看到过,这里主要说明下 方式三。在说明 方式三 之前,我们现回顾下运算符“~”(位取反)在 EMCAScript 中的定义(第五版的第 72 页),简单的翻译下:
1. 按运算符结合语句
2. 将旧值转换为 32 位整型
3. 执行运算符后的语句
4. 转换之行结果为 32 位整形并返回
从上面可以了解,其实位运算符都能立即返回后面表达式的值。其实其他位运算符都可以达到这样的目的,例如:
!function() {
// …
}();
等都可以达到我们的目的。所以其实用“~”也并无其他的原因,仅仅是代码“看着好看”而已 :^)
* 方式一的写法很常见而且很保险,所以并不会有人因为你使用这种方式而责怪你
* 但使用方式一的同学,可能经常会犯忘记匹配括号的“毛病”(特别是语句块很长时,就经常搞错)
* 使用位运算符执行匿名函数很新潮,用来装逼酷不错
* 很多 IDE (如 IDEA)以及语法高亮工具不支持 方式三 的写法
* void 效率最好,但总感觉相比其他两种实现方式非常的臃肿(仅仅多几个字符?)
* 综合代码量以及效率等情况考虑,用 方式一 没错的
* 在需要额外节省代码的极端情况,用 方式三
* 考虑效率优先,那么使用 方式二
分享到:
相关推荐
JavaScript中的函数是非常灵活的构造,不仅能够作为值传递,还能自我定义甚至自我重定义。这一特性使得JavaScript在处理一些特定的编程模式时显得尤为强大。本文将深入探讨这个概念。 首先,JavaScript允许函数自我...
这种宽松的参数处理方式为JavaScript编程提供了便利,但也可能导致逻辑错误,因此在实际应用中需要开发者自行处理参数个数不匹配的情况。 闭包是JavaScript中一种非常有用的特性,它允许内部函数访问外部函数的作用...
//以下是您的函数的代码,请自行修改先! alert("函数自动执行哦!"); } window.onload = MyAutoRun(); //仅需要加这一句 ``` 这种方法可以在页面加载完成后执行函数 `MyAutoRun()`。 还可以使用 `onload` ...
05 新增:大数组多解密函数(需要先自行排版,大数组-偏移函数-解密函数1-解密函数2-解密函数3) 06 修复bug-未修改常量替换,异常删除与异常替换的情况,对未赋值的增加undefined初始化处理 07 修复bug-未使用...
JavaScript函数集是编程语言JavaScript中的一个重要组成部分,它包含了一系列预定义的函数,这些函数可以帮助开发者完成各种任务,从处理字符串到操作数组,再到控制流程,无所不包。在这个"JavaScript 函数集"中,...
`crypto-js`库还支持其他加密算法和哈希函数,如SHA系列、HMAC等,可以根据项目需求进行选择和组合使用。 通过以上介绍,你应该对使用`crypto-js.js`在JavaScript中实现AES加密解密有了基本的理解。在实际应用中,...
在原生JavaScript中,并没有一个内置的in_array()函数来完成这一功能,因此需要开发者自行实现。 在上面给出的文件信息中,提到了如何自定义in_array()函数来实现这一功能。这个自定义函数的目的是提供一个简单易懂...
函数字面量在定义匿名函数时,可以自行决定是否提供一个名称,这个名称仅在函数内部可见,外部无法访问。而Function()构造函数创建的函数,虽然也可以看作匿名函数,但它实际上是在运行时动态创建和编译函数主体,...
2. 自定义函数:程序员根据需求自行创建的函数,例如在Python中通过`def`关键字定义,或在JavaScript中使用`function`关键字。 3. 高阶函数:可以接收函数作为参数并返回新函数的函数,如Python的`map()`、`filter...
JS常用工具函数(压缩包中含有MD文件可自行查看)--包含:通用格式化时间、字符串验证-验证邮箱、手机号、电话号码、url地址、严格校验身份证号码,判断数据类型-是否是字符串、数字、Boolean、函数、对象、数组...
JavaScript,简称JS,是一种轻量级的解释型编程语言,广泛应用于网页和网络应用开发,实现客户端的交互功能。在本“JavaScript案例”压缩包中,包含了一系列的JS代码示例,这些案例可以帮助我们深入理解和掌握...
在网页中JS函数自动执行常用三种方法 在HTML中的Head区域中,有如下函数: [removed] functionn MyAutoRun() { //以下是您的函数的代码,请自行修改先! alert("函数自动执行哦!"); } ...
标签“JS特效-其它代码”表明,这个项目可能包含了一些自定义的JavaScript代码,用于实现特定的动画效果或者交互逻辑。这可能包括对DOM(文档对象模型)的操作,如动态创建、修改和删除DOM元素,以响应用户的交互。 ...
- **JavaScript**:Node.js中可以使用`console.log`,或者使用winston、log4js等库。 5. **日志输出** 日志可以输出到控制台、文件、数据库,甚至通过网络发送到集中式日志系统。根据项目需求,可以通过配置Log...
Node.js云函数是微信小程序的一种后端服务解决方案,开发者可以在云端运行JavaScript代码,处理业务逻辑,而无需自行搭建服务器。在阿里云、腾讯云等服务商中,都可以找到对Node.js云函数的支持。 接下来,我们要...
在JavaScript编程中,动态添加表格数据行是一种常见的需求,特别是在构建交互式的Web应用程序时。这个功能允许用户在不刷新整个页面的情况下添加新的记录,提高了用户体验。在这个例子中,我们将探讨如何利用...
本主题涉及两个关键技术点:JavaScript(js)的倒计时实现以及PHP(php)函数将时间戳转化为“x秒前”的格式。 首先,我们来详细讲解JavaScript中的倒计时实现。在JavaScript中,我们可以使用`setInterval`函数创建...
特别是在需要对日期进行格式化处理时,我们需要自行编写函数来达到目的。本文将详细介绍如何在JavaScript中实现日期时间的格式化功能,并通过具体的示例代码帮助读者更好地理解和掌握这一技巧。 #### 一、日期对象...