js中对象定义状态、js判断为空的方法、js数字相加减以及日期处理

js中对象定义状态

js对象有undifined,null,NaN,Object几种,这里只说明js中undefined,null,NaN的区别

1.类型分析:
js中的数据类型有undefined,boolean,number,string,object等5种,前4种为原始类型,第5种为引用类型。
var a1;
var a2 = true;
var a3 = 1;
var a4 = "Hello";
var a5 = new Object();
var a6 = null;
var a7 = NaN;
var a8 = undefined;
alert(typeof a);    //显示"undefined"
alert(typeof a1); //显示"undefined"
alert(typeof a2); //显示"boolean"
alert(typeof a3); //显示"number"
alert(typeof a4); //显示"string"
alert(typeof a5); //显示"object"
alert(typeof a6); //显示"object"
alert(typeof a7); //显示"number"
alert(typeof a8); //显示"undefined"
从上面的代码中可以看出未定义的值和定义未赋值的为undefined,null是一种特殊的object,NaN是一种特殊的number。
2.比较运算
var a1;         //a1的值为undefined
var a2 = null;
var a3 = NaN;
alert(a1 == a2); //显示"true"
alert(a1 != a2); //显示"false"
alert(a1 == a3); //显示"false"
alert(a1 != a3); //显示"true"
alert(a2 == a3); //显示"false"
alert(a2 != a3); //显示"true"
alert(a3 == a3); //显示"false"
alert(a3 != a3); //显示"true"
从上面的代码可以得出结论:(1)undefined与null是相等;(2)NaN与任何值都不相等,与自己也不相等。

JavaScript undefined 属性
定义和用法
undefined 属性用于存放 JavaScript 的 undefined 值。
语法
undefined
说明
无法使用 for/in 循环来枚举 undefined 属性,也不能用 delete 运算符来删除它。
undefined 不是常量,可以把它设置为其他值。
当尝试读取不存在的对象属性时也会返回 undefined。
提示和注释
提示:只能用 === 运算来测试某个值是否是未定义的,因为 == 运算符认为 undefined 值等价于 null。
注释:null 表示无值,而 undefined 表示一个未声明的变量,或已声明但没有赋值的变量,或一个并不存在的对象属性。

js判断为空的方法

在写js脚本的时候经常遇到对象为空或者不是对象的情况,出现这种情况我们可以用if去判断它,然后去执行相应的处理方法,具体判断他们的方法有以下几种:

1、if   (typeOf(x)   ==   "undefined")

2、if   (typeOf(x)   !=   "object")

3、if(!x)

其中第三种是最简单的方法,但是第三种就不能用if(x)这种互斥的方法去判断,只能在对象前面加!

java里面!x为true的时候x肯定为false了,但是这里是不可以的


js数字相加减以及日期处理

在异步调用中,有时候要在某个统计数字上加1,而直接用"+"号相连,必定得不到想要的结果,因为默认是两个字符串相连。

    js中有个parseint()函数可以实现这个功能。

    方法:parseInt("1")+parseInt("2")

也可以用Number()或者 toFixed(int para)(参数为保留小数点大小)来处理

 

以下为一段摘抄:摘抄地址>>http://blog.csdn.net/superch0054/archive/2007/08/07/1728854.aspx

    在进行js脚本编写的时候,parseInt这个函数经常被使用,
目的是将 一个字符串转换为整型数.但是这个函数的实现和我们一般的想象有一定的差距.如:

我们用 parseInt('08'),希望得到的是 8,结果得到的是 0  (特别是在日期转换中)

    parseInt对于 0开头的字符串,且不是0x,当作了八进制进行处理,碰到8,就当作是非法字符中断了处理,所以结果就是0.因此,在日期处理上,只有碰到 08,09,才会出现问题    

  

那应该怎么办呢?其实js提供了一个重载函数来解决这个问题
parseInt(s, radix)

 

我们可以用 parseInt( '08',10)进行转换就没有问题了. 





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值