Object.prototype.toString()和Object.prototype.valueOf()区别
- 方法返回一个表示改对象的字符串,如果是对象会返回,toString() 返回 “[object type]”,其中type是对象类型
- valueOf房啊发返回指定对象的原始值,JS会利用 valueOf() 方法用来把对象转换成原始类型的值(数值、字符串和布尔值)
1、JS Boolean
- var boolean = new Boolean();
- console.log(boolean.toString()); //"false"
- console.log(boolean.valueOf()); // false
2、JS Number
- var number = 123;
- console.log(number.toString()); //"123"
- console.log(number.valueOf()); // 123
3、JS String
- var string = '123';
- console.log(string.toString()); //"123"
- console.log(string.valueOf()); // "123"
4、JS Array
- var array = ['aa','bb','cc'];
- console.log(array.toString()); //"aa,bb,cc"
- console.log(array.valueOf()); // ['aa','bb','cc']
5、JS Function
- var function = function() {};
- console.log(function.toString()); //"function() {}"
- console.log(function.valueOf()); // function() {}
6、JS Object
- var object = {};
- console.log(object.toString()); //[object, object]
- console.log(object.valueOf()); // {}
7、JS Date
- var date = new Date();
- console.log(date.toString()); //"Thu Feb 13 2020 11:00:46 GMT+0800 (中国标准时间)"
- console.log(date.valueOf()); // 1581562866267