你听过js中函数执行吗
一、主动执行函数。
众所周知,函数一般有下面几种表现方式:
第一种:函数声明
function demo_one(){
console.log("this is demo-one");
}
第二种:函数表达式
var demo=function(){
console.log("this is demo-two");
}
第三种:匿名表达式
function(){
console.log("this is demo-three");
}
var name="maomin";
function main(){//这里是声明一个叫mian函数,简单的叫做函数体,现在还不是函数表达式。
console.log(this.name);//输出 maomin
}
main();
这里的main函数称为主动执行函数,什么叫主动执行函数呢?就是立即执行的函数啊。显然,最初声明的函数体如果没有下面的mian(),就不能执行,这里的main()叫做函数调用,先声明后调用。
var main=function(){
console.log(this.name);//输出maomin,这里是函数表达式。
}
main();
首先一个函数体要想执行必须先成为函数表达式,成为函数体之后在函数体后面加上()就可以执行了。下面是几个demo.
1.
!function main(){
console.log("this is !");
}();
// or
!function(){
console.log("this is wuming");
}
(function(age){
console.log(age);
})(21);
// or
(function(money){
console.log(money);
}(100));
以上两种是将函数声明通过(、!、+、-,转换成函数表达式,转换成函数表达式就可以在后面加上(),就可以立即执行了。
总之,函数体要想执行那个首先成为函数表达式,然后在函数体后面加上()调用它,
二、延时触发函数。
var a=document.querySelector("body");
a.onclick=function(){
alert("被点击了!")
}
var time=setInterval(function(){
var name="maomin";
console.log(this.name)
},2000)
当事件被执行时,函数才被执行。这叫做延时触发函数
作者:Vam的金豆之路
主要领域:前端开发
我的微信:maomin9761
微信公众号:前端历劫之路