问题:js的function非常特殊,它可以作为对象(象数字、字符串、对象、数组,每个function都有自己的一些属性和方法),可以作为对象的方法,作为构造函数去模拟类。
楼主要多看看js啊,纠正下你的代码。你的第一种方式定义是最常见的。以关键字function开头,后面跟上函数名,括号里是参数,大括号是要执行的代码块。另外,函数名一般以小写开头。
function AA(){
//your code
}
你想写的第二种定义方式应该是这样
var AA = function()
{
}
记住,不要写成AA(),小括号是运算符,代表函数的执行。也叫函数直接量,将一个没有命名的函数(匿名函数)赋给一个变量(AA),或者说AA这个引用指向了后面的函数。后面的代码就可以用AA()去调用这个函数了。
直接在<script type="text/javascript"></script>中定义的函数就是全局函数。全局函数默认是window对象的属性(或者叫window对象的方法)。
局部函数可以这样理解,函数的嵌套,里面的函数就是局部函数。而嵌套函数最容易产生闭包,呵呵,闭包比较难理解。不扯了。举个例子,不用解释了吧,里面的就是你说的局部函数。
function outerFun() {
function innerFun() {
alert('hello');
}
}
innerFun()就是一个内部函数,包含在outerFun()的作用域中。这意味着在outerFun()里调用innerFun()是可行的,而不是在outerFun()外面调用。
另外将一个函数赋值给一个非window对象的属性,这个函数也是局部函数。
好了,就说这么多了。js的function非常特殊,它可以作为对象(象数字、字符串、对象、数组,每个function都有自己的一些属性和方法),可以作为对象的方法,作为构造函数去模拟类。
JavaScript教程:如何定义全局函数
最新推荐文章于 2024-09-06 08:43:48 发布