首先说函数的定义:
view sourceprint?function Hanshu()
{
//函数体...
}
这样我们就定义了一个名为Hanshu的函数,现在我们尝试调用一下这个函数。其实很简单,调用函数就是用函数的名称加括号,即:
Hanshu();
这样我们就调用了这个函数。
我们用一个按钮调用一下这个函数:将按钮的点击事件指向这个方法
现在我在此方法中再写一个方法
我们在这个方法中将body的点击事件指向了一个新的方法,匿名方法。然后弹出click body
view sourceprint?function Hanshu()
{
document.body.onclick = function()
{
alert(click body);
};
}
现在我们尝试调用一下
但是这样是不能实现每单击body时,弹出click body
因为当body去访问这个匿名方法时,找不到此方法
我们可以这么测试一下
view sourceprint?function AddClick()
{
// 这样不能实现把body的单击事件指给新的方法, 因为body不能访问在函数体里的函数
/*
document.body.onclick = new function()
{
alert(click body);
};
*/
// 这样可以实现
document.body.onclick = BtnAn;
// 如果把方法指向函数内的方法,则会出现错误:NeiHanshu未定义
// document.body.onclick = NeiHanshu;
}
function BtnAn()
{
alert(click body);
// function NeiHanshu()
// {
// alert(函数里的函数被调用);
// }
// NeiHanshu();
}
所以结果是:我们只能调用在外部的函数,不能调用函数里的函数,这也就是一个访问级别的问题