是否可以爲JavaScript類設置某種默認/回退函數?JavaScript類的默認函數/值
var a = new function() {
this.b = function() {
return "B";
}
return "A";
}
在這個例子中,我希望看到B
執行alert(a.b())
時,和A
單獨alert(a)
。
是否可以爲JavaScript類設置某種默認/回退函數?JavaScript類的默認函數/值
var a = new function() {
this.b = function() {
return "B";
}
return "A";
}
在這個例子中,我希望看到B
執行alert(a.b())
時,和A
單獨alert(a)
。
var a = new function() {
this.toString = function() { return "Four Loko comes in 8 different flavors."; };
this.valueOf = function() { return "Four Loko comes in 8 different flavors."; };
this.b = function() { return "Added! :3"; };
}
alert(a);
alert(a.b());
如果覆蓋對象的toString
方法,你可以得到它返回任何你想要的。
儘管您可能試圖從構造函數返回文字值。你只能從構造函數中返回對象。
您可能還需要覆蓋.valueOf
對不起,我錯過了'new'關鍵字。整個設置似乎沒有必要混淆我。對象字面意義同樣好。 –
你的問題,你的示例代碼是有點含糊,但,這可能是你在找什麼:
function A() {
this.b = function() {
return "Added! :3";
}
}
var a = new A();
alert(a.b());
這將是,如果你做的更好它是這樣的:
function A() {}
A.prototype.b = function() {
return "Added! :3";
}
你爲什麼使用'a = new function(){}'?你知道它在做什麼嗎?它或多或少相當於'a = {}'。 –
@FelixKling我假設他想創建一個對象字面值,但是有邏輯。新功能(){}基本上就是這樣。我假設真實的例子在構造函數中有實際的邏輯 – Raynos
@Raynos:是的,那可能是...... –