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