valueOf()函数详解

2017-12-25  本文已影响0人  glory_前端

valueOf()函数用于返回对象的原始值
javaScript 定义了五种原始值类型:Undefined,Null,Boolean,Number和String。

1.语法

object.valueOf()

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

微信截图_20171225101825.png
2.示例
// 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
3.扩展获取时间戳
//3.1 普通版
var timestamp=new Date().getTime() 

//3.2 进阶版
var timestamp = (new Date()).valueOf()
上一篇下一篇

猜你喜欢

热点阅读