JavaScript里函数的运用
在JavaScript里,函数也算是一种数据类型。不同于int、string、float等基本型,也不属于object等引用类型,函数,即function是一种特殊的对象。
一、函数的基本写法
你可以把function当成如java中的方法一样。
<SPAN style="FONT-SIZE: 15px"> function fun_name(){ </SPAN><BR><SPAN style="FONT-SIZE: 15px"> alert(1111); </SPAN><BR><SPAN style="FONT-SIZE: 15px"> }</span>
</SPAN>
调用它:
<SPAN style="FONT-SIZE: 15px"> <script>
window.onload=fun_name();
</script>
</SPAN>
也可以当成一个普通的数据类型一般,赋给一个变量,
1如:
<SPAN style="FONT-SIZE: 15px"> <script>
function fun_name(){
alert(1111);
}
var fun = fun_name();
</script>
</SPAN>
2甚至也可以这样写:
<SPAN style="FONT-SIZE: 15px"> <script>
var fun = function(){
alert(2);
}
</script>
</SPAN>
3你还能把function当成一个object,需要new之后,让系统分配给它一个内存之后才能使用它:
<SPAN style="FONT-SIZE: 15px"> <script>
function fun_name(arg){
this.arg = arg;
alert(this.arg);
}
var fun = new fun_name(2);
</script>
</SPAN>
上面所说的3中方法,1就是我们常用的经典型,2我们则称之为函数字面量,3我们就以它的实现方法称之为构造函数。
如2一般没有函数名称的函数,我们一般称之为匿名函数。
二、匿名函数的代码模式
如果你经常看Jquery,则会发现在Jquery中大量用到一下这种写法。
<SPAN style="FONT-SIZE: 15px"> (function(){
alert(11);
})()
</SPAN>
其中这是匿名函数的几种代码模式之一。
通常我们这样写
<SPAN style="FONT-SIZE: 15px">var fun = function(){
alert(111);
}
</SPAN>
不会有任何执行结果,这只是一个单纯的赋值。
想让匿名函数能自动执行,我们可以参照一下几种代码模式。
1一种就是上述所写的那样,先写一个函数字面量,然后执行它。
<SPAN style="FONT-SIZE: 15px">(function(){
alert(11);
})()
</SPAN>
2还有一种优先执行法,用圆括号强制执行。
<SPAN style="FONT-SIZE: 15px"> (function(){
alert(11);
}())
</SPAN>
3此外还有一个void操作符
<SPAN style="FONT-SIZE: 15px"> void funtion(){
alert(111);
}
</SPAN>
摘自 のんきネコ
补充:web前端 , JavaScript ,