您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關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中原始值有哪些就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。