这篇文章给大家分享的是有关JavaScript中原始值有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。
目前成都创新互联公司已为上1000+的企业提供了网站建设、域名、虚拟主机、网站托管、服务器租用、企业网站设计、顺昌网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。概念:原始类型的值就是原始值,即原始值有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中原始值有哪些就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
新闻名称:JavaScript中原始值有哪些-创新互联
文章地址:https://www.cdcxhl.com/article34/csdppe.html
成都网站建设公司_创新互联,为您提供手机网站建设、定制网站、关键词优化、网站改版、网站营销、面包屑导航
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联