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

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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值