許多的初學(xué)者可能會(huì)有這樣的疑惑,為什么看見(jiàn)這樣的寫(xiě)法:
typeof(1.2); # number
這樣看起來(lái)和python中的type函數(shù)不是一個(gè)東西嗎?
其實(shí)不然,這里的括號(hào)并不是調(diào)用函數(shù)的那種括號(hào)(準(zhǔn)確的來(lái)說(shuō),應(yīng)該叫做函數(shù)調(diào)用運(yùn)算符),而且一定要記住,typeof是一個(gè)運(yùn)算符,而不是一個(gè)函數(shù)。那怎么解釋這種現(xiàn)象呢?
請(qǐng)看下面的代碼:
-(1.2 - 0.3);
+(3.4);
所以,第一段代碼中的括號(hào)實(shí)際上和下面這段代碼中的括號(hào)含義一樣,是用來(lái)分組的。所以你可以看到
+(-123); // -123
typeof(123); // number
而且,如果typeof是函數(shù)的話,它應(yīng)該支持以下寫(xiě)法,但是正如第行代碼指出的那樣,以下寫(xiě)法都是錯(cuò)的。
addOperator = +;
getType = typeof;