我有一个javascript函数(function1),在调用实际弹出窗口并将用户连接到我们的另一个(遗留)函数(function2)之前,检查一些全局变量(用户可以连接,服务是否可用等)服务。我想阻止function2被调用到任何地方但是从function1。这可能吗?
作为一个廉价的解决方案,我想我可以从function1发出一个变量,并在执行前在function2中检查它。还有另外一种方法吗?有没有办法在javascript函数中找出调用元素/方法?
答案 0 :(得分:4)
请在此处阅读:Crockford's method。在第一个函数内声明函数。
答案 1 :(得分:2)
你应该检查一下:
和此:
答案 2 :(得分:0)
为什么不删除function2,将其整个内容移动到函数1?
然后你可以用发出错误信号的东西替换旧函数1。
答案 3 :(得分:0)
你可以在function1中移动function2,这样它就是function1的“私有”。查看"module pattern"。
答案 4 :(得分:0)
var function1 = function() {
var function2 = function() { alert('hi'); };
function2();
};
function1(); // alerts "hi";
function2(); // error function2 is undefined