使用JavaScript,是否可以使用原型向尚未賦予值的變量添加方法。JavaScript原型爲空變量
例如,我可以這樣做:
var foo = "bar";
String.prototype.doTheFoo = function(){
console.log("foo is better then you");
};
foo.doTheFoo();
這給出的所有字符串的方法doTheFoo();
是否有可能如何做同樣的事情,但有些東西還沒有被賦予價值?
var foo;
(????).prototype.doTheFoo = function()...
謝謝:)
我問的唯一原因是看我是否可以以某種方式創建一個名爲exists()的方法,所以不必如果使用typeof檢查,我只需要'if varname.exists'來檢查是否給定了一個值或null :) – Menztrual
@tehlulz:您不必使用'typeof'檢查。只需檢查默認的'undefined'值。如果你想測試'null'和'undefined',那麼執行'if(varname == null)',測試兩者。 – 2012-06-22 02:57:08
您不能在未定義的標識符上調用方法 - 它是一個「ReferenceError」。試圖這樣做會引發異常,在JS走過原型鏈的階段找到你的方法。不幸的是,你被'typeof'卡住了。 – josh3736