以前寫js都是簡單的表單驗證,從來也沒有做過其他什麼操作。
有很多人肯定寫過這樣的**
1var number = 10;
2 alert(number + 10); //
result:20
3 alert(number + "10"); //
result:1010
我當初看這幾段**的時候,很隨意的就過去了啊。很明顯的東西啊。資料自動轉換。
沒看出有啥不妥的地方。為什麼會這樣了啊。我也沒有了解過。今天我看到這樣的乙個例子就有點發懵了。
我們先來自定義乙個demo來看看
?function
demo(value)
this
.tostring =
function
()
?}
?var
demo =
new
demo(22);
?alert(demo + 10);
?document.write(demo);
如果先要轉換成數值型別的時候,他就呼叫valueof方法。如果先轉換成字元型別的時候,就呼叫tostring方法。
記住這一點哦。
不過我也不知道明白了這一點有什麼用處。大家可以發表自己的意見。我們一來來學習詭異的js.
java parseInt和valueof的區別
他們返回型別的不同是最大的原因 static int parseint string s 將字串引數作為有符號的十進位制整數進行分析。static integer valueof int i 返回乙個表示指定的 int 值的 integer 例項。static integer valueof str...
valueOf函式詳解
在型別轉換中,經常用到方法valueof 和他tostring 所有物件 包括基本包裝型別 都擁有這兩個方法。這篇文章我們先看看valueof 方法。valueof 方法會將物件轉換為基本型別,如果無法轉換為基本型別,則返回原物件。var obj new boolean true console.l...
BigDecimal的3個toString方法
本文介紹bigdecimal的3個tostring方法的區別。bigdecimal類有3個tostring方法,分別是toengineeringstring toplainstring和tostring,從bigdecimal的注釋中可以看到這3個方法的區別 toengineeringstring ...