成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

你真的懂JavaScript基礎(chǔ)類型嗎

ernest.wang / 3306人閱讀

摘要:基本類型有六種,,,,,。類型是類數(shù)組,具有基礎(chǔ)類型檢測檢測基礎(chǔ)類型用只適合檢測基礎(chǔ)類型基礎(chǔ)類型轉(zhuǎn)換基本類型轉(zhuǎn)換時(shí),首先會調(diào)用,然后調(diào)用。該方法在轉(zhuǎn)基本類型時(shí)調(diào)用優(yōu)先級最高。

夯實(shí)Javascript基礎(chǔ)。

基本類型有六種: null,undefined,boolean,number,string,symbol。

基本類型的值是保存在棧內(nèi)存中的簡單數(shù)據(jù)段

基礎(chǔ)類型特性

基礎(chǔ)類型最重要的特性

基礎(chǔ)類型是不變的

因此:基礎(chǔ)類型沒有splice,sort之類的直接改變變量的方法

強(qiáng)行改變基礎(chǔ)類型會報(bào)錯(cuò)

  // str 不能調(diào)用 Array的 sort 和 splice

  Array.prototype.sort.call("strxyz");
  // Uncaught TypeError: Cannot assign to read only property "2" of object "[object String]"

  Array.prototype.splice.call("strxyz");
  // Uncaught TypeError: Cannot assign to read only property "length" of object "[object String]"


  // object 可以使用 Array的sort 和 splice

  Array.prototype.sort.call({x: 1, y: 2});
  // {x: 1, y: 2}

  Array.prototype.splice.call({x: 1, y: 2});
  // []

基礎(chǔ)類型沒有__proto__沒有屬性

  str.x = 1;
  console.log(str.x); // undefined

所有對基礎(chǔ)類型屬性的訪問都是訪問的基本包裝類型 (String、Number、Boolean)

  當(dāng)你調(diào)用 `str.length` 時(shí),實(shí)際過程是這樣的:
  -> 創(chuàng)建String類型的一個(gè)實(shí)例
  -> 在實(shí)例上調(diào)用指定的方法
  -> 銷毀這個(gè)實(shí)例

  var str = "abc";
  var _str = new String(str);
  var len = _str.length;
  _str = null;
  console.log(len);

其他特性

typeof null === "object"

(歷史遺留問題,因?yàn)?00開頭表示對象,而null全是0)

條件判斷時(shí) undefined null false NaN "" 0 -0 為 false,其他都為 true

(條件判斷時(shí)會隱式轉(zhuǎn)換為Boolean)

JS只有浮點(diǎn)類型(double),沒有整型

1 === 1.0

NaN 也屬于 number 類型,并且 NaN 不等于自身。

var a = NaN; a !== a;

String 類型是類數(shù)組,具有iterator

typeof String("x")[Symbol.iterator] === "function"

基礎(chǔ)類型檢測

檢測基礎(chǔ)類型用 typeof

  // typeof 只適合檢測 基礎(chǔ)類型

  typeof new Date() // "object"
  typeof [] // "object"
  typeof {} // "object"
  typeof console.log // "function"
基礎(chǔ)類型轉(zhuǎn)換

基本類型轉(zhuǎn)換時(shí),首先會調(diào)用 valueOf,然后調(diào)用 toString。并且這兩個(gè)方法可以重寫。

  var a = 1;

  var obj = {x: 1};
  obj.toString === "[object Object]";

  var arr = [2, 3];
  arr.toString() === "2,3";

  a + obj === "1[object Object]";
  a + arr === "12,3";

Symbol.toPrimitive該方法在轉(zhuǎn)基本類型時(shí)調(diào)用優(yōu)先級最高。

  let a = {
    valueOf() {
      return 1;
    },
    toString() {
      return "2";
    },
    [Symbol.toPrimitive]() {
      return 3;
    }
  }

  1 + a // => 4
四則運(yùn)算

在四則運(yùn)算中,除了"+" 其他操作都會以數(shù)字進(jìn)行計(jì)算

如果是 + 運(yùn)算,如果不是所有字面量都是number,那么會轉(zhuǎn)換為字符串(toString)進(jìn)行拼接

End
持續(xù)更新中,Github信息更多哦,你的?是我最大的支持。查看詳情,

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/116062.html

相關(guān)文章

  • 真的JavaScript基礎(chǔ)類型

    摘要:基本類型有六種,,,,,。類型是類數(shù)組,具有基礎(chǔ)類型檢測檢測基礎(chǔ)類型用只適合檢測基礎(chǔ)類型基礎(chǔ)類型轉(zhuǎn)換基本類型轉(zhuǎn)換時(shí),首先會調(diào)用,然后調(diào)用。該方法在轉(zhuǎn)基本類型時(shí)調(diào)用優(yōu)先級最高。 夯實(shí)Javascript基礎(chǔ)。 基本類型有六種: null,undefined,boolean,number,string,symbol。 基本類型的值是保存在棧內(nèi)存中的簡單數(shù)據(jù)段 基礎(chǔ)類型特性 基礎(chǔ)類型最重要的...

    baishancloud 評論0 收藏0
  • 真的JavaScript基礎(chǔ)類型

    摘要:基本類型有六種,,,,,。類型是類數(shù)組,具有基礎(chǔ)類型檢測檢測基礎(chǔ)類型用只適合檢測基礎(chǔ)類型基礎(chǔ)類型轉(zhuǎn)換基本類型轉(zhuǎn)換時(shí),首先會調(diào)用,然后調(diào)用。該方法在轉(zhuǎn)基本類型時(shí)調(diào)用優(yōu)先級最高。 夯實(shí)Javascript基礎(chǔ)。 基本類型有六種: null,undefined,boolean,number,string,symbol。 基本類型的值是保存在棧內(nèi)存中的簡單數(shù)據(jù)段 基礎(chǔ)類型特性 基礎(chǔ)類型最重要的...

    seasonley 評論0 收藏0
  • 經(jīng)常被面試官問到的JavaScript數(shù)據(jù)類型知識真的?

    摘要:中的強(qiáng)制轉(zhuǎn)換規(guī)則面試官中強(qiáng)制類型轉(zhuǎn)換是一個(gè)非常易出現(xiàn)的點(diǎn),知道強(qiáng)制轉(zhuǎn)換時(shí)候的規(guī)則嗎注規(guī)則最好配合下面什么時(shí)候發(fā)生轉(zhuǎn)換使用這些規(guī)則看效果更佳。調(diào)用方法用來把對象轉(zhuǎn)換成原始類型的值數(shù)值字符串和布爾值。 前言 showImg(https://segmentfault.com/img/bVbu4Fb?w=940&h=400);之前面試了幾個(gè)開發(fā)者,他們確實(shí)做過不少項(xiàng)目,能力也是不錯(cuò)的,但是發(fā)現(xiàn)...

    codergarden 評論0 收藏0
  • 2019前端工程師自檢清單與思考

    摘要:前端工程師自檢清單對于,掌握其語法和特性是最基本的,但是這些只是應(yīng)用能力,最終仍舊考量仍然是計(jì)算機(jī)體系的理論知識,所以數(shù)據(jù)結(jié)構(gòu),算法,軟件工程,設(shè)計(jì)模式等基礎(chǔ)知識對前端工程師同樣重要,這些知識的理解程度,可以決定你在前端工程師這條路上能走多 2019前端工程師自檢清單 對于JavaScript,掌握其語法和特性是最基本的,但是這些只是應(yīng)用能力,最終仍舊考量仍然是計(jì)算機(jī)體系的理論知識,所...

    Honwhy 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<