2013-03-03 78 views
0

我打打鬧鬧與添加一個方法到Object類,像這樣的想法:增強Object類

Object.prototype.is = function(operand) { 
    return this === operand; 
}; 

10.is(10); // returns false 

我有點受結局煩惱,任何人都可以提供一些見解?

+0

該代碼甚至沒有運行我 – 2013-03-03 19:46:36

+2

最後一行需要是'10..is(10);' – lonesomeday 2013-03-03 19:47:00

+0

擴展Object.properties是一個壞主意。對於初學者,jQuery會恨你。 – 2013-03-03 19:48:50

回答

8

在JavaScript中,數字基元不是Number的實例。當編譯器看到10.is時,它將10包裝在Number對象中(因爲只有對象可以具有屬性)。該對象不等於參數10,因爲===禁止自動類型轉換。

P.S.你需要像(10).is(10)這樣的代碼才能成爲合法的語法。