在使用javascript时我们经常会遇到一种在定义时不带名称的函数,即匿名函数,它的应用很广泛。这篇文档暂不讨论它用的何处,主要是讨论匿名函数的调用。匿名函数最常用的调用方式有现两种:
//方式1,调用函数,得到返回值。强制运算符使函数调用执行
(function(x,y){
alert(x+y);
return x+y;
}(3,4));
//方式二,调用函数,得到返回值。强制函数直接量执行再返回一个引用,引用再去调用执行
(function(x,y){
alert(x+y);
return x+y;
})(3,4);
这两种方法的执行效率是一样的,但是jslint
中推荐使用方式1。
下面我们介绍不常用的方式3及其变种
//方式三,调用函数,忽略返回值
void function(x) {
x = x-1;
alert(x);
}(9);
//变种一,调用函数
+ function(x) {
x = x-1;
alert(x);
}(9);
//变种一,调用函数
- function(x) {
x = x-1;
alert(x);
}(9);
通过在匿名函数前添加运算符,达到强制匿名函数执行的效果。
有一种特别容易使人迷惑的调用匿名函数的方式:
//变种三,调用函数
var c= function(x) {
x = x-1;
alert(x);
}(9);
这种方式也可以调用匿名函数,这不是使用变量形式自定义函数嘛?哦,是吗,不是吧,后面还有个()呢。
关键是"="运算符的使用,哈哈,看明白了吗。
分享到:
相关推荐
Javascript中定义函数的方式有多种,函数直接量就是其中一种。如var fun = function(){},这里function如果不赋值给fun那么它就是一个匿名函数。好,看看匿名函数的如何被调用。 方式1,调用函数,得到返回值。强制...
Javascript中定义函数的方式有多种,函数直接量就是其中一种。如var fun = function(){},这里function如果不赋值给fun那么它就是一个匿名函数。好,看看匿名函数的如何被调用。 方式1,调用函数,得到返回值。强制...
概念:所谓函数表达式指的是将声明的函数赋值给一个变量,通过变量完成函数的调用和参数的传递,它也是JavaScript中另一种实现自定义函数的方式。 5.5 匿名函数 函数表达式 var fn = function sum(num1, num2) { ...
不管是什么编程语言,... 那么问题来了,我们知道在Javascript中,有一类函数叫做匿名函数,没有名称,怎么调用呢?当然你可以说,可以把匿名函数赋值给一个常量: const factorial = function(n){ if (n <= 1) {
匿名函数就是没有实际名字的函数。 javaScript的匿名函数形式多样,而且不搞清楚,容易看晕代码。 以下是成功调用的匿名函数: 代码如下: (function () { alert(... //运算符+匿名函数调用 (f
本文介绍了js匿名函数和闭包的相关内容,供大家参考...闭包是指有权访问另一个函数作用域中的变量的函数,创建闭包的常见的方式,就是在一个函数内部创建另一个函数,通过另一个函数访问这个函数的局部变量 <scri
匿名函数,也称为拉姆达函数,是一种使用JavaScript函数的强大方式。以下总结了匿名函数的特点: 任何函数表达式从技术上说都是匿名函数,因为没有引用它们的确定的方式; 在无法确定如何引用函数的情况下,递归...
方式6,匿名函数执行放在中括号内123[function(){ console.log(this) // 浏览器得控制台输出window}(this)]
带名函数是指函数显示地给出了一个名字的函数,function abs(x){}。匿名函数是指函数只带有function这个关键字,而没有像abs这种函数名称的函数,如function(){}。ES6标准新增了一种新的函数:Arrow ...函数调用时
OK,先来看看更多匿名函数调用模式: 代码如下: (function(){alert(1);}()) (function(){alert(2);})() void function(){alert(3);}() 以上3个都是正确的,且在功能上都是等同的。 再来看下...
前面有一篇提到了 匿名函数的多种调用方式。这篇看看具名函数的多种调用方式。 1、() 平时最常用的就是()运算符来调用/执行一个函数: 代码如下: // 无参函数fun1 function fun1() { alert(‘我被调用了’&#...
引入 匿名函数 闭包 变量作用域 函数外部访问函数内部的局部变量...这意味着,函数运行在定义它的作用域中,而不是在调用它的作用域中。这是 JavaScript 的一大特色,将在后面说明。 把这两个因素结合在一起,就能
javascript语法灵活,同一个功能有五...2.(function(arg){})(window),匿名方法调用,在构造命名空间时比较有用,后面的括号中的参数与匿名方法中的入参一一对应。 3.func.bind(sth)(),mozilla手册中提到bind是在ECMA
( function(){…} )()和( function (){…} () )是两种javascript立即执行函数的常见写法,最初我以为是一个括号包裹匿名函数,再在后面加个括号调用函数,最后达到函数定义后立即执行的目的,后来发现加括号的原因...
匿名函数:没有名字的函数; 闭包:可访问一个函数作用域里的变量的函数; 一 匿名函数 // 普通函数 function box(){ // 函数名是box; return 'Lee'; } box(); // =>Lee; 调用函数; // 匿名函数 function(){ // ...
代码如下: (function(){ //这里忽略jQuery所有实现 })();...当一个匿名函数被括起来,然后再在后面加一个括号,这个匿名函数就能立即运行起来!真神奇哦! 嘿嘿!胡闹到此为止。在这一节,我们碰到
主要介绍了JS匿名函数,结合实例形式分析了javascript匿名函数的定义、参数、返回值等相关使用方法,需要的朋友可以参考下