number parseInt() parseFloat() toString valueof()

valueof()可以返回布尔对象的原始值

object.valueOf( )

JavaScript的许多内置对象都重写了该函数,以实现更适合自身的功能需要。因此,不同类型对象的valueOf()方法的返回值和返回值类型均可能不同。

对象 返回值

Array 数组实例对象。

Boolean 布尔值。

Date 以毫秒数存储的时间值,从 UTC 1970 年 1 月 1 日午夜开始计算。

Function 函数本身。

Number 数字值。

Object 对象本身。这是默认设置。

String 字符串值。

// Array:返回数组对象本身

var array = ["CodePlayer", true, 12, -5];

document.writeln( array.valueOf() === array ); // true

// Date:当前时间距1970年1月1日午夜的毫秒数

var date = new Date(2013, 7, 18, 23, 11, 59, 230);

document.writeln( date.valueOf() ); // 1376838719230

// Number:返回数字值

var num =  15.26540;

document.writeln( num.valueOf() ); // 15.2654

// 布尔:返回布尔值true或false

var bool = true;

document.writeln( bool.valueOf() === bool ); // true

// new一个Boolean对象

var newBool = new Boolean(true);

// valueOf()返回的是true,两者的值相等

document.writeln( newBool.valueOf() == newBool ); // true

// 但是不全等,两者类型不相等,前者是boolean类型,后者是object类型

document.writeln( newBool.valueOf() === newBool ); // false

// Function:返回函数本身

function foo(){ 

}

document.writeln( foo.valueOf() === foo ); // true

var foo2 =  new Function("x", "y", "return x + y;");

document.writeln( foo2.valueOf() === foo2 ); // true

// Object:返回对象本身

var obj = {name: "张三", age: 18};

document.writeln( obj.valueOf() === obj ); // true

// String:返回字符串值

var str = "http://www.365mini.com";

document.writeln( str.valueOf() === str ); // true

// new一个字符串对象

var str2 = new String("http://www.365mini.com");

// 两者的值相等,但不全等,因为类型不同,前者为string类型,后者为object类型

document.writeln( str2.valueOf() === str2 ); // false

isNaN() 函数用于检查其参数是否是非数字值。

提示:isNaN() 函数通常用于检测 parseFloat() 和 parseInt() 的结果,以判断它们表示的是否是合法的数字。当然也可以用 isNaN() 函数来检测算数错误,比如用 0 作除数的情况。

isNaN( ),在接受一个值时,会尝试把这个值转换成数值,其原理是先调用valueof()方法,然后确定该方法返回的值是否可以转换为数值。如果不能,则基于这个返回值再吊用toString()方法,再测试返回值。

Number()

Number(true)=1

Number(false)=0

是数值就返回数值

空字符串会返回0

Number(“”)=0

Number(“0011”)=11,会去掉前面的0

Number(undefined)=NaN

Number(“hello”)=NaN

parseInt()在转化字符串时,更多的是看其是否符合数值模型。它会忽略字符串前面的空格,直至找到第一个非空字符,如果第一个不是数字字符或者负号parseInt()会返回nan,

parseInt(“”)=nan

parseInt(“0099”)=99

parseInt(“-123uu”)=-123

parseInt(“1.5”)=1

另还会转换成16,10,8,2进制,

parseFloat()只解析十进制,

parseFloat(“hello”)=nan

parseFloat(“0999”)=999

parseFloat(“22.5”)=22.5

toString把任意转换为字符串,但不能区别null和undefined,在不知对象是否是null和undefined的情况下,可以用string()方法,如果值有tostring方法,就调用,如果是null就返回null,undefined就返回undefined

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值