在函外部直接调用函数的内部函数是不可以的 ,因为是向外查找的 所以不能直接内部函数
代码语言:javascript复制function one() {
function two() {
var b = 30;
}
}
one();
two();
即使先调用外部函数也不可以
找不到函数
如果要直接调用内部函数可以把函数赋值给一个全局变量
将内部函数值赋给外部定义的全局变量
代码语言:javascript复制 //定义一个变量名
var b = 20;
var a;
function one() {
function two() {
var b = 30;
console.log(b);
}
a = two
console.log(b);
}
//先调用外部函数
one();
//再调用内部函数
a();
或者 直接赋值a也是可以调用的
代码语言:javascript复制 //定义一个变量名
var b = 20;
function one() {
a = function () {
var b = 30;
console.log(b);
}
console.log(b);
}
//先调用外部函数
one();
//再调用内部函数
a();
结果都是
也可以这样调用window.onload里的函数
代码语言:javascript复制 var a;
window.onload = function () {
function q() {
alert("document")
}
a = q
button = document.getElementsByTagName('button')[0]
button.onclick = function () { b() }
}
function b() {
a()
}