日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

重学前端-js的类型问题

發布時間:2024/9/21 HTML 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 重学前端-js的类型问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

JavaScript的語言類型:

  • undeifined
  • boolean
  • string
  • number
  • null
  • symbol
  • object
記住: 0.1 + 0.2 != 0.3 復制代碼
1.undefined
undeifined 是一個變量,而非是一個關鍵字。 而獲取他的值,則可以通過void 0 來獲得。void 0 == undefined 任何變量在賦值前都是undefined。而null是定義了但是為空的狀態。 復制代碼
2.null
null類型只有一個值,就是null,他的語義表示空值。 null不同于undefined,null是關鍵字,所以你可以放心用null關鍵字來獲取null值。 復制代碼
3.Boolean
Boolean類型會有兩個值,truefalse。 是用來判斷邏輯意義上的真假。 復制代碼
4.String
string用于表示文本數據,string有最大長度:2^53-1.string的意義并非字符串,而是字符串的UTF16編碼 復制代碼
5.number
number是浮點數,console.log( 0.1+0.2 == 0.3); //false其實。浮點數運算的特點,精度問題復制代碼
6.symbol
symbol 是ES6引入的新類型,是一切非字符串的對象key的集合。ES6中整個對象系統被Symbol重塑。創建:(使用全局的symbol函數)var mysymbol = Symbol("my symbol")Symbol.iterator---為每一個對象定義了默認的迭代器,該迭代器可以被for...of循環調用var o = new Object//給對象Object添加iterator屬性 o[Symbol.iterator] = function() {var v = 0;return {next:function(){return {value: v++, done: v> 10}}} }for(var v of o) console.log(v)復制代碼
7.對象
Object是最復雜的類型,也是js的核心機制之一。對象是屬性的集合,屬性分為:數據屬性和訪問器屬性,都是KEY-VALUE形式。key可以是字符串或者symbol類型 復制代碼

類型轉換

StringToNumber

NumberToString

裝箱轉換是把基本類型轉換成為對應的對象。例子:symbol對象是無法使用new來調用的,但是我們可以利用裝箱機制來得到一個symbol對象。利用一個函數call來強迫產生裝箱。var symbolObject = ( function () {return this;}).call(Symbol("a"))console.log(symbolObject instanceof Symbol); //trueconsole.log(typeof symbolObject) // object或者利用Object函數,在JavaScript代碼中顯式調用裝箱能力var symbolObject = Object((Symbol('a'));console.log(Object.ptototype.toString.call(symbolObject)); // [Object Symbol] 復制代碼拆箱轉換: ToPrimitive函數是對象類型到基本類型的轉化。對象到String和Number的轉換都遵循“先拆箱再轉換”。先將對象轉為基本類型,再從基本類型轉化成String和NUmbervar o = {valueOf: () => { console.log("valueOf"); return {}}toString: () => { console.log("toString"); return {}}}o*2//1.先執行valueOf//2.toString//3.typeErroro + ""//1.先執行toString//2.tvalueOf//3.typeError顯式toPrimitive Symbol 來覆蓋原有的行為o[Symbol.toPrimitive] = () => {console.log("toPrimitive"); return "hello"}console,log(o + "") 復制代碼

js字符串和數字之間的轉換

1.轉換函數

parseInt("10.5") // 10 parseInt("0xA") //10parseFloat("1234blue") // 1234 parseFloat("blue") //NaN復制代碼

2.強制類型轉換

Boolean(value) --- 把給定的值轉換成Boolean型 Number(value) --- 把給定的值轉化為數字(整數或者式浮點數) String(value) -- 把給定的值轉為字符串Boolean(100) // true Number(false) //0 Number(true) //1 復制代碼

3.利用JS變量弱類型轉換

var string = 1 + '12' // 112 string string = string - 0 // 112 number 復制代碼

轉載于:https://juejin.im/post/5c4d6ec0e51d45520d30173a

總結

以上是生活随笔為你收集整理的重学前端-js的类型问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。