我有一個對象字面與此類似:如何在JavaScript對象文字中多次正確傳遞參數?
var test = {
myFunc1: function() {
for (var i = 0, j = arguments.length; i < j; i++) {
alert('myFunc1: ' + arguments[i]);
}
},
myFunc2: function() {
for (var i = 0, j = arguments.length; i < j; i++) {
alert('myFunc2: ' + arguments[i]);
}
this.myFunc1.apply(this.myFunc2, arguments);
},
myFunc3: function() {
for (var i = 0, j = arguments.length; i < j; i++) {
alert('myFunc3: ' + arguments[i]);
}
this.myFunc2.apply(this.myFunc3, arguments);
}
}
當我打電話「myFunc3」我希望它稱之爲「myfunc2所」用傳遞給「myFunc3」的所有參數。這是按預期工作的。
當我調用「myFunc3」時,我希望它使用所有傳遞的參數調用「myFunc2」,並且我希望myFunc1被所有傳遞給「myFunc3」的傳遞參數調用。
test.myFunc3('a', 'b');
當我打電話給我時,我得到4個警報框,2個myFunc3,2個myFunc2。然後,我得到一個錯誤:
Uncaught TypeError: Cannot call method 'apply' of undefined
如果我需要通過一組參數,比深的對象我該怎麼辦這個水平嗎?有沒有更好的更正確的方法來做到這一點?
這是一個jsFiddle來演示。
http://jsfiddle.net/taggedzi/fmPAQ/2/
在此先感謝。純粹的JavaScript只是,沒有jquery請。需要跨瀏覽器和平臺工作。
誰投這個?有用。 –
這不是我,但這與@ JosephtheDreamer的回答有何不同? –
我不明白他的解釋。我檢查了我自己。這與他所說的基本相同。 –