易截截图软件、单文件、免安装、纯绿色、仅160KB

javascript的类型转换

一、类型转换的方法和应该注意的问题:
1,转换为布尔型:
(1)用两次非运算(!):
!!5 ==> true
(2)用布尔型的构造函数:
new Boolean(5) == > true
值转换为布尔类型为false:
0,+0,-0,NaN,""(空字符串),undefined,null
除上面的值其他值在转换以后为true,需要特别提到的是:
"0",new Object(),function(){}
2,转换为字符串类型:
(1)加上空字符串"":
123 + "" = "123"
(2)用字符串构造函数:
new String(123) = "123".
需要特别注意的转化:
+0 ==> "0"
-0 ==> "0"
-Infinity ==>"-Infinity"
+Infinity ==>"+Infinity"
NaN ==> "NaN"
undefined ==> "undefined"
null ==> "null"
new Object() ==> "[object Object]"
function(){} ==> "function(){}"
3,转换为数值型:
(1) 取正(+), 减零 (-0), 乘一,(*1),除以一(/1),取负(-,这个得到相反的值)。
+"123" = 123
+true = 1
(2)用构造函数Number();
new Number("123") = 123
几个需要特别注意的转化:
""(空字符串) ==> 0
"010" ==> 10
"0x10"(16进制) ==> 16
"-010" ==> -10
"-0x10" ==> NaN
undefined ==> NaN
null ==> 0
true ==> 1
false ==> 0
new Object() ==> NaN
new function(){} ==> NaN
二、隐式类型转换:
(1)二元加法运算(+):如果两个操作数中有一个是String类型,将把两个操作数转换为String类型再相加。
如果两个操作数中没有字符串类型,那么将把两个操作数转换为数值类型再做运算。
举例:
"123"+123 = "123123";
123+123 = 246
true + true = 2
true + undefined = NaN (因为undefined转换为数值为NaN,所有结果为NaN)
true + null = 1 (null转换为数字是0)
"123" + null = "123null" (包含字符串将转化为字符串相加)
"123" + undefined = "123undefined" (undefined同样适用)
1 + 2 + "123" = "3123" (1+2是首先按照数值型计算的)
(2)二元减乘除运算(-*/):因为只有数值类型才有 - * / 运算,所以会先将两个操作数转换为数值型再做运算。
"123"-123 = 0
(3)一元取正(+),取负运算符(-):取正或者取负都是针对数值型的运算,所以会将操作数转换为数值型再做运算。
+"123" = 123
-"123" = -123
+"123e" = NaN
+"123f" = NaN
+"123e-2" = 1.23
(4)一元非(!)运算符:非运算符需要将操作数转化为布尔类型。


相关文档:

简洁强大的JavaScript表单验证程序

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>vForm表单验证程 ......

javascript中loose type的影响


var obj = new Object();
obj.name = "hello";
obj['name'] = "world";
alert(obj.name);
被人问到这样一段代码,alert的结果应该是什么呢?
我回答:hello #结果大错特错!
应该是“world”!!!
因为js是一种松散类型的语言,obj虽然被声明是一个对象,但是把它当成数组来访问也没什么不可以。
虽然 ......

JavaScript代码(1)

//后台CS调用前台JS方法
ClientScript.RegisterStartupScript(this.GetType(), "onclick", "<script>CheckInput()</script>");
//校验输入框是否为空,校验是否是数字
<script type="text/javascript" language="javascript">
         function CheckInput ......

利用javascript验证邮箱地址是否合法

源代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>验证邮箱地址合法性</title>
    <sc ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号