1.JavaScript 基礎(chǔ)回顧

JavaScript 基本組成

  • JavaScript由幾部分構(gòu)成?

BOM、DOM、ECMAScript

數(shù)據(jù)類型

  • 數(shù)據(jù)類型有哪些?

js數(shù)據(jù)類型分為兩大類,6種。

  • 簡單數(shù)據(jù)類型:

    • string
    • boolean
    • number
    • null
    • undefined
  • 復(fù)雜數(shù)據(jù)類型:

    • object
  • 內(nèi)置對象有哪些?

Array、Date、Math、Window、document、String、Number、Boolean

  • 如何判斷數(shù)據(jù)類型?
  • typeof
  • typeof有一種數(shù)據(jù)類型是無法判斷出來的 : null,因為typeof null == 'obejct'
  • 因為typeof null結(jié)果為'object',所以造成typeof判斷對象類型存在不準(zhǔn)確性
  • typeof運算后的返回結(jié)果,類型為字符串
  • typeof返回結(jié)果固定為如下幾個值:'string'、'number'、'boolean'、'object'、'undefined'、'function'

基本類型與引用類型的賦值問題

  • 基本類型

簡單數(shù)據(jù)類型賦值時賦的是具體的值。

  • 引用類型

復(fù)雜數(shù)據(jù)類型賦值時賦的是地址。

運算符

  • 算術(shù)運算符 + %

+ 作用:

% 取余數(shù)

  • 邏輯運算符 && || !
  • &&

    • 有一個false就是false,兩個true才是true
    • 從左向右依次運算,運算時會把值轉(zhuǎn)換為布爾類型,遇到false,
      則返回參與運算的具體值(注意不是true或false),如果沒有遇到false,返回最后一個參與運算的值。
  • ||

    • 從左向右依次運算,運算時會把值轉(zhuǎn)換為布爾類型,遇到true,
      則返回參與運算的具體值(注意不是true或false),如果沒有遇到true,返回最后一個參與運算的值。
  • !

    • 取反,返回值相反的布爾值
    • !!可以得到一個數(shù)據(jù)的布爾值
  • 相等運算符 == === != !==
  • ==

    • 先自動進(jìn)行數(shù)據(jù)類型的隱式轉(zhuǎn)換,轉(zhuǎn)換為相同的數(shù)據(jù)類型再進(jìn)行比較。
  • ===

    • 比較數(shù)據(jù)類型與具體的值。
  • 三元運算符 ? :

先計算?號前面的表達(dá)式結(jié)果,結(jié)果為true返回:號前面的表達(dá)式運算結(jié)果,否則后面的。

布爾類型轉(zhuǎn)換

  • 如何把數(shù)據(jù)轉(zhuǎn)換為布爾類型?

    • !!
    • Boolean
  • 哪些數(shù)據(jù)在轉(zhuǎn)換為布爾類型時結(jié)果為false?

    • 0
    • null
    • undefined
    • ''
    • NaN
    • false

語句

  • 分支語句

if else、switch case

  • 循環(huán)語句

for、while、do while、for in

  • break和continue的作用是什么?
    +break:
    • 終止循環(huán)

+continue:
- 跳出當(dāng)前循環(huán),繼續(xù)下一次

函數(shù)

  • 創(chuàng)建方式
  • 構(gòu)造函數(shù)
  • 字面量
    • 表達(dá)式
    • 聲明式
  • 什么是形參和實參?
  • 形參是定義函數(shù)時,在括號里面書寫的占位符,它的作用是為了接收將來函數(shù)調(diào)用時傳遞過來的實參
  • 實參是函數(shù)調(diào)用時,實際傳遞給形參的值;如果傳遞基本數(shù)據(jù)類型,那么實參是具體的值;如果傳遞引用數(shù)據(jù)類型,那么實參是引用的地址。
  • 函數(shù)調(diào)用時候傳參,就是一個賦值過程。
  • 返回值

    • 可以使用return關(guān)鍵字添加返回值
    • 如果沒有return默認(rèn)返回undefined
  • arguments

    • 這是一個函數(shù)運行時內(nèi)部提供的對象,這個對象的使用方式和數(shù)組類似,所以稱之為偽數(shù)組。
      它可以通過下標(biāo)訪問函數(shù)調(diào)用時傳遞進(jìn)行的實參,通過length屬性得到實參的個數(shù)。

錯誤拋出

錯誤捕獲

debugger與斷點

+號

  • 如果兩邊含有字符串或者對象,那么轉(zhuǎn)換為string之后再相加
  • 除此之外,兩數(shù)相加,轉(zhuǎn)換為number之后再相加

-號

  • 把兩邊數(shù)據(jù)轉(zhuǎn)換為number之后再相減

類型相等比較

約定:非空數(shù)據(jù)類型表示null和undefined兩種數(shù)據(jù)類型。

  • 任何數(shù)據(jù)和NaN相比結(jié)果都為false
  • null等于undefined
  • null和非空類型相比結(jié)果為false
  • undefined和非空類型相比結(jié)果為false
  • 數(shù)字和非空類型比較,先轉(zhuǎn)換為數(shù)字再比較
  • 布爾和非空類型比較,先轉(zhuǎn)換為數(shù)字再比較
  • 對象與對象比較內(nèi)存地址
  • 對象與字符串,對象先轉(zhuǎn)換為字符串再比較
類型 類型 規(guī)律
NaN 任意類型 false
null undefined true
null 非空類型 false
undefined 非空類型 false
數(shù)字 非空類型 轉(zhuǎn)換為數(shù)字再比較
布爾 非空類型 轉(zhuǎn)換為數(shù)字再比較
對象 對象 內(nèi)存地址比較
對象 字符串 轉(zhuǎn)換為字符串再比較

數(shù)據(jù)做布爾類型轉(zhuǎn)換

  • 0、NaN、''、""、null、undefined轉(zhuǎn)換結(jié)果為false
  • 其余轉(zhuǎn)換結(jié)果都為true
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 標(biāo)簽: 我的筆記 ---學(xué)習(xí)資料:http://javascript.ruanyifeng.com/ 1. 導(dǎo)論 ...
    暗夜的怒吼閱讀 940評論 0 1
  • 第5章 引用類型(返回首頁) 本章內(nèi)容 使用對象 創(chuàng)建并操作數(shù)組 理解基本的JavaScript類型 使用基本類型...
    大學(xué)一百閱讀 3,675評論 0 4
  • 語句 JavaScript程序的執(zhí)行單位為行(line),也就是一行一行地執(zhí)行。一般情況下,每一行就是一個語句。 ...
    米塔塔閱讀 504評論 1 10
  • 活在未來 很多人都會說,投資理財,財富管理是一件很好的事情,而且確實有用,但我現(xiàn)在沒錢,所以我現(xiàn)在做不了。 我相信...
    諾曼底的救贖閱讀 347評論 0 1
  • 2017年10月10日種子日記 何德勝第71天 我今天不是為了我一個人而聞思修行,而是為了一切如母有情眾生,愿他們...
    何德勝覺悟閱讀 214評論 0 1

友情鏈接更多精彩內(nèi)容