我有以下的javascript代碼:變量是枚舉
function testClass() {
this.SaveValue = function (value) {
var isInstance = value instanceof TestEnum;
if (!isInstance) {
return;
}
}
}
TestEnum = {
VALUE_0: 0,
VALUE_1: 1,
VALUE_2: 2
}
創建以下列方式的這個對象的實例:
$(function() {
var a = new testClass();
a.SaveValue(TestEnum.VALUE_1);
});
所有我想要做的就是測試傳遞給SaveValue
函數的值實際上是TestEnum
的類型。但是,當我運行此代碼時,出現以下錯誤:Uncaught TypeError: Expecting a function in instanceof check, but got 1
我正在以正確的方式進行操作嗎?我嘗試過typeof,但它只返回number
,這對我來說並不是特別有用。
奇妙的東西 - 正是我需要的! – Mansfield
雖然這回答了我的問題,但它確實給我們帶來了一個新問題 - 當調用SaveValue時,它可以直接在構造函數中的任何值中傳入一個新的TestEnumValue。我想這是沒有辦法的.... – Mansfield
你可以加強TestEnumValue來處理未定義的'arg's並且只是讓它返回你選擇的默認鍵和值 - 參見我編輯的答案。 – Andy