0
我有dynamic code
即self creating
。在certain conditions
下,只有某些類型允許通過某些if statements
。如何通過原型傳遞undefined和null?
什麼當前工作
- 對象
- 布爾
- 數
- 串
- 符號
- 功能
如果代碼試圖檢查它是否是一個null
或undefined
一切什麼打破了代碼
- 空
- 不確定
分崩離析。或者如果它是null
或undefined
並且我想檢查它是否是一個字符串,它就會崩潰。
我想知道是否有辦法通過null
或undefined
?
演示
演示工作,直到它準備好檢查null。
function type(obj) {
obj = Object.prototype.toString.call(obj).split(' ')[1].replace(']', '');
return obj;
}
String.prototype.is = function(what) {
if (/\b(string|str|s)\b/i.test(what)) {
return true;
}
return false;
};
Array.prototype.is = function(what) {
if (/\b(array|arr|a)\b/i.test(what)) {
return true;
}
return false;
};
Object.prototype.is = function(what) {
let results = type(this)
let regex = new RegExp('\\b' + results + '\\b', 'i')
if (regex.test(what)) {
return true;
}
return false;
};
unknown1 = 'hello world'
unknown2 = /a/g
unknown3 = null // Failed to pass through prototype - suppose to log true
unknown4 = undefined // Failed to pass through prototype - suppose to log false
unknown5 = 9
console.log(unknown1.is('string or regexp'))
console.log(unknown2.is('object'))
console.log(unknown3.is('null'))
console.log(unknown4.is('number'))
console.log(unknown5.is('string, number, or object'))
'null'和'undefined'是原語做不hav e包裝對象,所以你不能設置一個原型方法,因此你爲什麼得到一個無法讀取屬性錯誤 –
是否有可能包裝原型在'if語句'並返回'null'在它被破壞之前? –
請勿爲此使用原型方法。 – Bergi