把作用域弄清楚就解决了 1.定义到one函数内部, var one = function(h){ var two = function(){ alert(h); } two() } 2.使用two函数作用域中可以访问的变量(全局变量当然肯定可以) var one = function(h){ two.h=h; two() } var two = function(){ alert(two.h); } 说实话,这个问题莫名其妙,你不如说你想做什么让大家告诉你该怎么实现,而不是用这种根本是不可采取的方式
var one = function(h){ two() } var two = function(){ alert(two.caller.arguments[0]) } one('hello')
要想更优美一点可以这样var one = function (h) { two() } var two = function () { alert(arguments.callee.caller.arguments[0]) } one('hello')
var one = function(h){ two() } var two = function(){ var _h = arguments.calee.caller; alert(_h); } one('hello')
var one = function(h){ two() } var two = function(){ var _h = arguments.calee.caller.arguments[0]; alert(_h); } one('hello') 写错了,应该是这样
http://topic.csdn.net/u/20120917/16/6a27d442-3bfe-48fa-b42a-b31db4e33dc3.html
1.定义到one函数内部,
var one = function(h){
var two = function(){
alert(h);
} two()
}
2.使用two函数作用域中可以访问的变量(全局变量当然肯定可以)
var one = function(h){
two.h=h;
two()
}
var two = function(){
alert(two.h);
}
说实话,这个问题莫名其妙,你不如说你想做什么让大家告诉你该怎么实现,而不是用这种根本是不可采取的方式
two()
}
var two = function(){
alert(two.caller.arguments[0])
}
one('hello')
two()
}
var two = function () {
alert(arguments.callee.caller.arguments[0])
}
one('hello')
two()
}
var two = function(){
var _h = arguments.calee.caller;
alert(_h);
}
one('hello')
two()
}
var two = function(){
var _h = arguments.calee.caller.arguments[0];
alert(_h);
}
one('hello')
写错了,应该是这样