強制類型轉(zhuǎn)換:
字符串轉(zhuǎn)整數(shù)可以使用: parseInt()
字符串轉(zhuǎn)小數(shù)可以使用: parseFloat()
**[html]** [view plain](http://blog.csdn.net/baoendemao/article/details/52723869#) [copy](http://blog.csdn.net/baoendemao/article/details/52723869#)
[![在CODE上查看代碼片](https://code.csdn.net/assets/CODE_ico.png)](https://code.csdn.net/snippets/1910438)[![派生到我的代碼片](https://code.csdn.net/assets/ico_fork.svg)](https://code.csdn.net/snippets/1910438/fork)
<pre name="code" class="html"><!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script>
window.onload=function (){
var oTXT1=document.getElementById("txt1");
var oTXT2=document.getElementById("txt2");
var oTXT3=document.getElementById("txt3");
var oBtn=document.getElementById("btn");
oBtn.onclick=function() {
// 文本框?qū)ο?value是string類型裸影,所以需要類型轉(zhuǎn)換
// 字符串轉(zhuǎn)數(shù)字
var n1=parseInt(oTXT1.value);
var n2=parseInt(oTXT2.value)
if(isNaN(n1) || isNaN(n2))
alert("input error");
oTXT3.value=n1+n2;
}
}
</script>
</head>
<body>
<input type="text" id="txt1" />
<input type="text" id="txt2" />
<input type="text" id="txt3" />
<input type="button" id="btn" />
</body>
</html>
隱式類型轉(zhuǎn)換:
**[html]** [view plain](http://blog.csdn.net/baoendemao/article/details/52723869#) [copy](http://blog.csdn.net/baoendemao/article/details/52723869#)
[![在CODE上查看代碼片](https://code.csdn.net/assets/CODE_ico.png)](https://code.csdn.net/snippets/1910438)[![派生到我的代碼片](https://code.csdn.net/assets/ico_fork.svg)](https://code.csdn.net/snippets/1910438/fork)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script>
var a=5;
var b="5";
alert(a==b); //返回true , 這里做了隱式類型轉(zhuǎn)換军熏,先把a和b轉(zhuǎn)換成相同的類型轩猩,再做比較。
**[html]** [view plain](http://blog.csdn.net/baoendemao/article/details/52723869#) [copy](http://blog.csdn.net/baoendemao/article/details/52723869#)
[![在CODE上查看代碼片](https://code.csdn.net/assets/CODE_ico.png)](https://code.csdn.net/snippets/1910438)[![派生到我的代碼片](https://code.csdn.net/assets/ico_fork.svg)](https://code.csdn.net/snippets/1910438/fork)
alert(a===b); //返回false, === 不做類型轉(zhuǎn)換
</script>
</head>
<body>
</body>
</html>
**[html]** [view plain](http://blog.csdn.net/baoendemao/article/details/52723869#) [copy](http://blog.csdn.net/baoendemao/article/details/52723869#)
[![在CODE上查看代碼片](https://code.csdn.net/assets/CODE_ico.png)](https://code.csdn.net/snippets/1910438)[![派生到我的代碼片](https://code.csdn.net/assets/ico_fork.svg)](https://code.csdn.net/snippets/1910438/fork)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script>
var a='7';
var b="5";
alert(a-b); // 返回2荡澎, 減號做 隱式類型轉(zhuǎn)換:字符串轉(zhuǎn)整數(shù)
alert(a+b); // 返回75均践,加號做 字符串連接
</script>
</head>
<body>
</body>
</html>
==和===的區(qū)別:
false == 0; // truefalse === 0; // false
要特別注意相等運算符==
。JavaScript在設(shè)計時摩幔,有兩種比較運算符:
第一種是==
比較彤委,它會自動轉(zhuǎn)換數(shù)據(jù)類型再比較,很多時候或衡,會得到非常詭異的結(jié)果焦影;
第二種是===
比較车遂,它不會自動轉(zhuǎn)換數(shù)據(jù)類型,如果數(shù)據(jù)類型不一致斯辰,返回false
舶担,如果一致,再比較彬呻。
由于JavaScript這個設(shè)計缺陷衣陶,不要使用==
比較,始終堅持使用===
比較闸氮。
另一個例外是NaN
這個特殊的Number與所有其他值都不相等剪况,包括它自己:
NaN === NaN; // false
唯一能判斷NaN
的方法是通過isNaN()
函數(shù):
isNaN(NaN); // true