你听过js中函数执行吗

1,307 阅读1分钟

一、主动执行函数。

众所周知,函数一般有下面几种表现方式: 第一种:函数声明

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)

当事件被执行时,函数才被执行。这叫做延时触发函数