妙味课堂:
1、显式类型转换(强制类型转换)
parseInt可以把字符串转化为数字(或者说从字符串中提取数字)
12.6——>12
12px34——> 12
'abc'——>NaN //Not A Number
从左到右是数字取出,碰到不是数字的停止
parseFloat把字符串转化为小数
求和器:
(2)两个NaN不能相比,总是不相等
2、隐式类型转换 :不用告诉计算机它自己就会做
== === - * /
为什么加法没有隐式类型转换?
加号:(1)字符串连接
(2)数字相加
减号:数字相减
eg:
(1) var a='12';
var b=12;
//alert(a==b); //弹出true ==先把两边的东西转换成一样的类型,然后再比较
alert(a===b); //不转换,比较直接,弹出false
(2) var a='12';
var b='5';
alert(a-b) ; //弹出7 -把a b转化为数字后相减
3、变量作用域:变量起作用的范围
(1) function aaa()
{
var a=12; //局部变量:定义在一个函数里,只能在这个函数里用
}
function bbb()
{
alert(a); //提示报错
}
aaa();
bbb();
(2)var a; //全局变量:不定义在任何一个函数里,可以在任何地方去用
function aaa()
{
a=12;
}
function bbb()
{
alert(a); //弹出12
}
aaa();
bbb();
(3)function aaa()
{
var a=12;
function bbb() //子函数可以使用父元素的局部变量——闭包
{
alert(a);
}
bbb();
}
aaa();
1、显式类型转换(强制类型转换)
parseInt可以把字符串转化为数字(或者说从字符串中提取数字)
12.6——>12
12px34——> 12
'abc'——>NaN //Not A Number
从左到右是数字取出,碰到不是数字的停止
parseFloat把字符串转化为小数
求和器:
<html>
<head>
<script>
window.οnlοad=function()
{
var oTxt1=document.getElementById("txt1");
var oTxt2=document.getElementById("txt2");
var oBtn=document.getElementById("btn1");
oBtn.οnclick=function()
{
var num=parseInt(oTxt1.value)+parseInt(oTxt2.value);
if(isNaN(num)) //isNaN检测是否是NaN,是的话是true,不是则是false
{
alert("您输入的有误");
}
else
{
alert(num);
}
}
}
</script>
</head>
<body>
<input id="txt1" type="text"/>
<input id="txt2" type="text"/>
<input id="btn1" type="button" value="求和"/>
</body>
</html>
注意:(1)NaN和任何东西相加还是NuN
(2)两个NaN不能相比,总是不相等
2、隐式类型转换 :不用告诉计算机它自己就会做
== === - * /
为什么加法没有隐式类型转换?
加号:(1)字符串连接
(2)数字相加
减号:数字相减
eg:
(1) var a='12';
var b=12;
//alert(a==b); //弹出true ==先把两边的东西转换成一样的类型,然后再比较
alert(a===b); //不转换,比较直接,弹出false
(2) var a='12';
var b='5';
alert(a-b) ; //弹出7 -把a b转化为数字后相减
3、变量作用域:变量起作用的范围
(1) function aaa()
{
var a=12; //局部变量:定义在一个函数里,只能在这个函数里用
}
function bbb()
{
alert(a); //提示报错
}
aaa();
bbb();
(2)var a; //全局变量:不定义在任何一个函数里,可以在任何地方去用
function aaa()
{
a=12;
}
function bbb()
{
alert(a); //弹出12
}
aaa();
bbb();
(3)function aaa()
{
var a=12;
function bbb() //子函数可以使用父元素的局部变量——闭包
{
alert(a);
}
bbb();
}
aaa();