3
我爲「between」功能做了一個原型。 爲什麼我不能直接在數字上使用它?它是數字對象!JavaScript原型功能不能正常工作
var a = 21;
21.between("(16 20 ]"); // this is wrong and not working
//alert (typeof 21) is number
a.between("(16 20 ]"); // working
我爲「between」功能做了一個原型。 爲什麼我不能直接在數字上使用它?它是數字對象!JavaScript原型功能不能正常工作
var a = 21;
21.between("(16 20 ]"); // this is wrong and not working
//alert (typeof 21) is number
a.between("(16 20 ]"); // working
嘗試:
(21).between("(16 20 ]");
當解析器(當然,詞法分析器)看見 「21。」它認爲你有一個浮點常量。什麼也適用(以及我個人看起來真的很癢)是:
21..between("(16 20 ]");
@Brünnhilde是的,這是正確的。該語言很樂意做這類事情,但有時候因爲語法阻礙而不能這樣做。 – Pointy 2011-05-31 16:27:20
有興趣的答案可以這樣做。在一個相關的說明中,我寫了一個小東西,它使用更加結構化的方法來間隔並將它們轉換爲/你可能感興趣的字符串:https://github.com/hostilefork/jquery-numband/blob/e15091d72f172b83f56b6f45e3f4aac4883a4420 /jquery-numband.js#L9 – HostileFork 2011-05-31 16:34:33
我不建議擴展原生原型。您可能會在更高版本的JavaScript中遇到名稱空間衝突,並且意外覆蓋標準方法,從而令所有人感到困惑。 – 2013-01-31 12:55:06