java js原理_JS函数调用原理($.ajax原理)

1、首先理解自调函数:(有名自调与匿名自调)

两个圆括号,第二个括号传递参数即可自调。

(function test(para){

alert("test函数"+para)

})('1');

(function(para){

alert("匿名函数"+para)

})('2');

14b2160c4db4391fc85380b8c099254c.png

af19c84379241c4717a5c7d17d74aa2c.png

2、有名字函数的调用:

alert(test)是打印test函数的语句,test相当于一个变量,值为整个声明函数的语句。test(1)可以理解为(test)(1),也就是先用括号将test变量包起来然后加个(1)形成函数调用形式

function test(para){

alert("test函数"+para);

}

alert(test);

test(1);

f58ab761c2ffb114205aa46c060c2574.png

62d02d2d2edb550c29f645f1aef1058c.png

3、匿名函数的调用:

alert(fun)是打印匿名函数的语句,fun相当于一个变量,值为整个声明函数的语句。fun(2)可以理解为(fun)(2),也就是先用括号将fun变量包起来然后加个(2)形成函数调用形式.

var fun = function(para){

alert("匿名函数"+para)

}

alert(fun);

fun(2);

5b83807fb63e39bcb7ec1bc5c8c384be.png

c884d031b7c01f62bbc115d139414869.png

4、匿名函数也可以带函数名字:

var fun = function test3(para){

alert("匿名函数"+para)

}

alert(fun);

fun(2);

35b32906db4aefcb26d67645dbf0177b.png

92d8b8c6bc6bb7963704971d08c352ca.png

5、直接量函数

只要是表达式语法,脚本宿主就认为 function 是一个直接量函数,如果什么都不加,光以 function 开头的话则认为是一个函数声明,把 function 写进一个表达式内部,比如四则运算,宿主也会将其当作是一个直接量,如下:

只有函数表达式可以被立即调用,函数声明不可以.

alert(10+function(para){return para;}(5))

+function (a) {

alert(a)

}('a');

c3e78b5c1b24e454941748d6a8d13a92.png

6fccee17d9b11c2b7d4d654edec4bbdc.png

var fun = function test3(para){

return "3";

}();

alert(fun);

0aafd0b3720ee8e5320ed5e8e2be5398.png

https://www.cnblogs.com/qlqwjy/category/1035591.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值