先看几种常用的定义方式:
function func1([参数]){
/*函数体*/
}
var func2=function([参数]){
/*函数体*/
}
var func3=function func4([参数]){
/*函数体*/
}
var func5=new Function()
上述第一种方式是最常用的方式,不用多说。
第二种是将一匿名函数赋给一个变量,调用方法:func2([函数])
第三种是将func4赋给变量func3,调用方法:func3([函数])或func4([函数])
第四种是声明func5为一个对象。
再看看它们的区别:
function func(){
//函数体
}
//等价于
var func=function(){
//函数体
}
但同样是定义函数,在用法上有一定的区别。
<script>
//这样是正确的
func(1)
function func(a)
{
alert(a)
}
</script>
<script>
//这样是错误的,会提示func未定义,主要是在调用func之前没有定义
func(1)
var func = function(a)
{
alert(a)
}
//这样是正确的,在调用func之前有定义
var func = function(a)
{
alert(a)
}
func(1)
</script>
用同样的方法可以去理解第三种定义方式。
第四种定义方式也是需要声明对象后才可以引用。
最简单的,你看看<html>
<head>
<!-- javascript申明 -->
<script language="javascript">
//函数申明
function getValue(){
//函数体
var valueTemp = document.getElementById("myText").value
alert(valueTemp)
}
</script>
</head>
<body>
<input type="text" id="myText">
<!-- 函数调用 -->
<input type="button" onclick="getValue()" value="获值">
</body>
</html>
var a = new Function (){}
相当于
var a = new Function ()//函数声明
{}//匿名对象
或者你可以这样
var a = function(){}