您的位置:首页 > Web前端 > JavaScript

JavaScript教程:如何定义全局函数

2014-12-20 10:34 211 查看
原文:JavaScript教程:如何定义全局函数

问题: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都有自己的一些属性和方法),可以作为对象的方法,作为构造函数去模拟类。


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: