JavaScript中原始值是什么?JavaScript中原始值的详解

企鹅博客
企鹅博客
企鹅博客
25193
文章
0
评论
2019年10月1日01:10:51 评论 158 views
广告也精彩

本篇文章给大家带来的内容是关于JavaScript中原始值是什么?JavaScript中原始值的详解,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

原始值:

概念:原始类型的值就是原始值,即原始值有string,、number、boolean、null和undefined五种。

valueOf() 和 toString() 方法的使用:

null和undefined没有valueOf和toString方法,调用时报错。

默认情况下调用的是valueOf方法:

每个JavaScript对象的 valueOf 方法定义不同:

JavaScript中原始值是什么?JavaScript中原始值的详解

例如:

// 函数:
<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中原始值的详解的详细内容,更多请关注php教程其它相关文章!

企鹅博客
  • 本文由 发表于 2019年10月1日01:10:51
  • 转载请务必保留本文链接:https://www.qieseo.com/407251.html
使用js提交表单form js教程

使用js提交表单form

首先我们先用html创建一个表单 Name: Email: <--一般情况下,这里是使用submit--> 在这个表单中,我们没用使用submit,我们准备使用js来提交这个表单。首先介绍...
js下载以及修改文件名的实例教程 js教程

js下载以及修改文件名的实例教程

这篇文章主要为大家详细介绍了js下载文件并修改文件名的代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 用js下载文件,使用<a>标签,添加download属性即可。 var a =...

发表评论