var google = {
makeBeer : function(arg1,arg2){
alert([this instanceof google, arg1, arg2]);
}
}
google.makeBeer('water','soda');
上面沒有提示當我檢查this instanceof google
,但是當我這樣做時,相同的代碼工作。使用instanceof測試對象
var google = {
makeBeer : function(arg1,arg2){
alert([this instanceof Object, arg1, arg2]);
}
}
google.makeBeer('water','soda');
參考'this'是Object的實例,爲什麼不是Google Object
。我如何確保實例是我的情況下的特定對象。
更新到同一個問題:
var newWay = {}
google.makeBeer.call(newWay, 'pepsi', 'coke');
在上述情況下,我經過NEWWAY反對我funcion makeBeer,我怎麼能知道它的NEWWAY對象這裏。
即使在你的更新中,你仍然有一個普通的對象。沒有什麼特別的。 – Mathletics 2013-03-13 15:26:27
@Mathletics:那很好,但我怎麼能區分這兩個... – Kevin 2013-03-13 15:27:08
你需要使用這種模式構造你的對象: function Way(){} var newWay = new Way() – 2013-03-13 15:30:35