强制类型转换:
字符串转整数可以使用: parseInt()
字符串转小数可以使用: 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() {
// 文本框对象.value是string类型,所以需要类型转换
// 字符串转数字
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>
隐式类型转换:
**[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 , 这里做了隐式类型转换,先把a和b转换成相同的类型,再做比较。
**[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, === 不做类型转换
</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, 减号做 隐式类型转换:字符串转整数
alert(a+b); // 返回75,加号做 字符串连接
</script>
</head>
<body>
</body>
</html>
==和===的区别:
false == 0; // truefalse === 0; // false
要特别注意相等运算符==
。JavaScript在设计时,有两种比较运算符:
第一种是==
比较,它会自动转换数据类型再比较,很多时候,会得到非常诡异的结果;
第二种是===
比较,它不会自动转换数据类型,如果数据类型不一致,返回false
,如果一致,再比较。
由于JavaScript这个设计缺陷,不要使用==
比较,始终坚持使用===
比较。
另一个例外是NaN
这个特殊的Number与所有其他值都不相等,包括它自己:
NaN === NaN; // false
唯一能判断NaN
的方法是通过isNaN()
函数:
isNaN(NaN); // true
网友评论