JavaScript中原始值是什么?JavaScript中原始值的详解
原始值:
概念:原始类型的值就是原始值,即原始值有string,、number、boolean、null和undefined五种。
valueOf() 和 toString() 方法的使用:
null和undefined没有valueOf和toString方法,调用时报错。
默认情况下调用的是valueOf方法:
每个JavaScript对象的 valueOf 方法定义不同:
例如:
// 函数: <script> var f = function () {} console.log(f) // ƒ () {} console.log(f.toString()) // function () {} console.log(f.valueOf()) // f () {} </script> // 对象 <script> var obj = {a: 1, b: 'ss'} console.log(obj) // {a: 1, b: "ss"} console.log(obj.toString()) // [object Object] console.log(obj.valueOf()) // {a: 1, b: "ss"} </script>
(1)调用对象的valueOf方法,如果返回值是原始值直接返回,否则返回对象本身。
(2)对于数组,如果不重写其toString()方法,其默认实现就是调用数组的 join()方法返回值作为toString()的返回值。
例1:
[1,2,3].toString() // '1,2,3' var str = new String("11") console.log(str) //String {"11"} console.log(str.valueOf()) // 11 (typeof返回string) console.log(str.toString()) // 11 (typeof返回string)
str.valueOf()的返回值为11的原因:
此处的valueOf方法调用的是String原型上的valueOf方法,而非Object对象原型上的valueOf方法,原型链结构中String.prototype在Object.prototype之前,而String.prototype.valueOf方法返回的是一个字符串,故返回值为11。
例2:
<script> var obj = new Object({a: 1}) console.log(obj) // {a: 1} console.log(obj.valueOf()) // {a: 1} console.log(obj.toString()) // [object Object] console.log(obj + 1) // [object Object]1 </script>
原因:使用对象进行运算时,首先调用的是valueOf方法,此时valueOf的返回值仍旧是对象,因此会再调用toString方法进行运算,故返回值时[object Object]1。
判断一个值的具体类型:
使用Object.prototype.toString()。call(val)
返回值有:
String | Number | Boolean | Null | Undefined | Function | Array | Object | RegExp | Date | Error | Arguments
以上就是对JavaScript中原始值是什么?JavaScript中原始值的详解的全部介绍,如果您想了解更多有关JavaScript教程,请关注PHP中文网。
以上就是JavaScript中原始值是什么?JavaScript中原始值的详解的详细内容,更多请关注其它相关文章!
上一篇: 微信开发vs远程调试
下一篇: 怎么设置小程序关联通知
推荐阅读
-
探讨JavaScript中的Rest参数和参数默认值
-
IE6、IE7中获取Button元素的值的bug说明_javascript技巧
-
Chrome中模态对话框showModalDialog返回值问题的解决方法_javascript技巧
-
javascript 清空form表单中某种元素的值
-
JavaScript中获取Radio被选中的值
-
在javascript中,null>=0 为真,null==0却为假,null的值详解
-
详解vue中this.$emit()的返回值是什么
-
javascript 清空form表单中某种元素的值
-
用 Javascript 验证表单(form)中的单选(radio)值
-
JavaScript中获取Radio被选中的值