天天看點

JavaScript進階day01-AM【WebStrom安裝、資料類型分類及判斷、資料-記憶體-變量、引用變量指派、對象的組成】P1 01.尚矽谷_JS進階_準備 07:07P2 02.尚矽谷_JS進階_資料類型 40:43P3 03.尚矽谷_JS進階_相關問題 20:31P4 04.尚矽谷_JS進階_資料_變量_記憶體 47:39P5 05.尚矽谷_JS進階_相關問題1 24:22P6 06.尚矽谷_JS進階_相關問題2 25:38

筆記、視訊、源碼:JavaScript(基礎、進階)筆記彙總表【尚矽谷JavaScript全套教程完整版】

目   錄

P1 01.尚矽谷_JS進階_準備 07:07

WebStrom 下載下傳及安裝

1、WebStorm 解除安裝

2、WebStrom 下載下傳(官網)

3、WebStrom 下載下傳(百度網盤)

JS進階 Xmind 思維導圖

WebStorm 導入檔案

P2 02.尚矽谷_JS進階_資料類型 40:43

資料類型 分類

資料類型 判斷

P3 03.尚矽谷_JS進階_相關問題 20:31

執行個體

1. undefined與null的差別?

2. 什麼時候給變量指派為null呢?

3. 嚴格差別變量類型與資料類型?

P4 04.尚矽谷_JS進階_資料_變量_記憶體 47:39

1. 什麼是資料?

2. 什麼是記憶體?

3. 什麼是變量?

4. 記憶體、資料、變量三者之間的關系。

P5 05.尚矽谷_JS進階_相關問題1 24:22

情況讨論:var a = xxx(指派操作),a記憶體中到底儲存的是什麼?

關于引用變量指派問題

P6 06.尚矽谷_JS進階_相關問題2 25:38

關于引用變量指派問題

關于資料傳遞問題

記憶體管理

P1 01.尚矽谷_JS進階_準備 07:07

WebStrom 下載下傳及安裝

哔哩哔哩網站 視訊:【分享】WebStorm2020.1安裝教程-Windows篇

1、WebStorm 解除安裝

JavaScript進階day01-AM【WebStrom安裝、資料類型分類及判斷、資料-記憶體-變量、引用變量指派、對象的組成】P1 01.尚矽谷_JS進階_準備 07:07P2 02.尚矽谷_JS進階_資料類型 40:43P3 03.尚矽谷_JS進階_相關問題 20:31P4 04.尚矽谷_JS進階_資料_變量_記憶體 47:39P5 05.尚矽谷_JS進階_相關問題1 24:22P6 06.尚矽谷_JS進階_相關問題2 25:38
JavaScript進階day01-AM【WebStrom安裝、資料類型分類及判斷、資料-記憶體-變量、引用變量指派、對象的組成】P1 01.尚矽谷_JS進階_準備 07:07P2 02.尚矽谷_JS進階_資料類型 40:43P3 03.尚矽谷_JS進階_相關問題 20:31P4 04.尚矽谷_JS進階_資料_變量_記憶體 47:39P5 05.尚矽谷_JS進階_相關問題1 24:22P6 06.尚矽谷_JS進階_相關問題2 25:38
JavaScript進階day01-AM【WebStrom安裝、資料類型分類及判斷、資料-記憶體-變量、引用變量指派、對象的組成】P1 01.尚矽谷_JS進階_準備 07:07P2 02.尚矽谷_JS進階_資料類型 40:43P3 03.尚矽谷_JS進階_相關問題 20:31P4 04.尚矽谷_JS進階_資料_變量_記憶體 47:39P5 05.尚矽谷_JS進階_相關問題1 24:22P6 06.尚矽谷_JS進階_相關問題2 25:38

2、WebStrom 下載下傳(官網)

下載下傳連結
JavaScript進階day01-AM【WebStrom安裝、資料類型分類及判斷、資料-記憶體-變量、引用變量指派、對象的組成】P1 01.尚矽谷_JS進階_準備 07:07P2 02.尚矽谷_JS進階_資料類型 40:43P3 03.尚矽谷_JS進階_相關問題 20:31P4 04.尚矽谷_JS進階_資料_變量_記憶體 47:39P5 05.尚矽谷_JS進階_相關問題1 24:22P6 06.尚矽谷_JS進階_相關問題2 25:38
JavaScript進階day01-AM【WebStrom安裝、資料類型分類及判斷、資料-記憶體-變量、引用變量指派、對象的組成】P1 01.尚矽谷_JS進階_準備 07:07P2 02.尚矽谷_JS進階_資料類型 40:43P3 03.尚矽谷_JS進階_相關問題 20:31P4 04.尚矽谷_JS進階_資料_變量_記憶體 47:39P5 05.尚矽谷_JS進階_相關問題1 24:22P6 06.尚矽谷_JS進階_相關問題2 25:38

3、WebStrom 下載下傳(百度網盤)

  • 【連結:https://pan.baidu.com/s/1-iVrlbLbvx8MX4UZT5lIeA   提取碼:zjxs】
JavaScript進階day01-AM【WebStrom安裝、資料類型分類及判斷、資料-記憶體-變量、引用變量指派、對象的組成】P1 01.尚矽谷_JS進階_準備 07:07P2 02.尚矽谷_JS進階_資料類型 40:43P3 03.尚矽谷_JS進階_相關問題 20:31P4 04.尚矽谷_JS進階_資料_變量_記憶體 47:39P5 05.尚矽谷_JS進階_相關問題1 24:22P6 06.尚矽谷_JS進階_相關問題2 25:38
JavaScript進階day01-AM【WebStrom安裝、資料類型分類及判斷、資料-記憶體-變量、引用變量指派、對象的組成】P1 01.尚矽谷_JS進階_準備 07:07P2 02.尚矽谷_JS進階_資料類型 40:43P3 03.尚矽谷_JS進階_相關問題 20:31P4 04.尚矽谷_JS進階_資料_變量_記憶體 47:39P5 05.尚矽谷_JS進階_相關問題1 24:22P6 06.尚矽谷_JS進階_相關問題2 25:38
JavaScript進階day01-AM【WebStrom安裝、資料類型分類及判斷、資料-記憶體-變量、引用變量指派、對象的組成】P1 01.尚矽谷_JS進階_準備 07:07P2 02.尚矽谷_JS進階_資料類型 40:43P3 03.尚矽谷_JS進階_相關問題 20:31P4 04.尚矽谷_JS進階_資料_變量_記憶體 47:39P5 05.尚矽谷_JS進階_相關問題1 24:22P6 06.尚矽谷_JS進階_相關問題2 25:38
JavaScript進階day01-AM【WebStrom安裝、資料類型分類及判斷、資料-記憶體-變量、引用變量指派、對象的組成】P1 01.尚矽谷_JS進階_準備 07:07P2 02.尚矽谷_JS進階_資料類型 40:43P3 03.尚矽谷_JS進階_相關問題 20:31P4 04.尚矽谷_JS進階_資料_變量_記憶體 47:39P5 05.尚矽谷_JS進階_相關問題1 24:22P6 06.尚矽谷_JS進階_相關問題2 25:38
JavaScript進階day01-AM【WebStrom安裝、資料類型分類及判斷、資料-記憶體-變量、引用變量指派、對象的組成】P1 01.尚矽谷_JS進階_準備 07:07P2 02.尚矽谷_JS進階_資料類型 40:43P3 03.尚矽谷_JS進階_相關問題 20:31P4 04.尚矽谷_JS進階_資料_變量_記憶體 47:39P5 05.尚矽谷_JS進階_相關問題1 24:22P6 06.尚矽谷_JS進階_相關問題2 25:38
JavaScript進階day01-AM【WebStrom安裝、資料類型分類及判斷、資料-記憶體-變量、引用變量指派、對象的組成】P1 01.尚矽谷_JS進階_準備 07:07P2 02.尚矽谷_JS進階_資料類型 40:43P3 03.尚矽谷_JS進階_相關問題 20:31P4 04.尚矽谷_JS進階_資料_變量_記憶體 47:39P5 05.尚矽谷_JS進階_相關問題1 24:22P6 06.尚矽谷_JS進階_相關問題2 25:38
JavaScript進階day01-AM【WebStrom安裝、資料類型分類及判斷、資料-記憶體-變量、引用變量指派、對象的組成】P1 01.尚矽谷_JS進階_準備 07:07P2 02.尚矽谷_JS進階_資料類型 40:43P3 03.尚矽谷_JS進階_相關問題 20:31P4 04.尚矽谷_JS進階_資料_變量_記憶體 47:39P5 05.尚矽谷_JS進階_相關問題1 24:22P6 06.尚矽谷_JS進階_相關問題2 25:38
JavaScript進階day01-AM【WebStrom安裝、資料類型分類及判斷、資料-記憶體-變量、引用變量指派、對象的組成】P1 01.尚矽谷_JS進階_準備 07:07P2 02.尚矽谷_JS進階_資料類型 40:43P3 03.尚矽谷_JS進階_相關問題 20:31P4 04.尚矽谷_JS進階_資料_變量_記憶體 47:39P5 05.尚矽谷_JS進階_相關問題1 24:22P6 06.尚矽谷_JS進階_相關問題2 25:38
JavaScript進階day01-AM【WebStrom安裝、資料類型分類及判斷、資料-記憶體-變量、引用變量指派、對象的組成】P1 01.尚矽谷_JS進階_準備 07:07P2 02.尚矽谷_JS進階_資料類型 40:43P3 03.尚矽谷_JS進階_相關問題 20:31P4 04.尚矽谷_JS進階_資料_變量_記憶體 47:39P5 05.尚矽谷_JS進階_相關問題1 24:22P6 06.尚矽谷_JS進階_相關問題2 25:38
JavaScript進階day01-AM【WebStrom安裝、資料類型分類及判斷、資料-記憶體-變量、引用變量指派、對象的組成】P1 01.尚矽谷_JS進階_準備 07:07P2 02.尚矽谷_JS進階_資料類型 40:43P3 03.尚矽谷_JS進階_相關問題 20:31P4 04.尚矽谷_JS進階_資料_變量_記憶體 47:39P5 05.尚矽谷_JS進階_相關問題1 24:22P6 06.尚矽谷_JS進階_相關問題2 25:38
JavaScript進階day01-AM【WebStrom安裝、資料類型分類及判斷、資料-記憶體-變量、引用變量指派、對象的組成】P1 01.尚矽谷_JS進階_準備 07:07P2 02.尚矽谷_JS進階_資料類型 40:43P3 03.尚矽谷_JS進階_相關問題 20:31P4 04.尚矽谷_JS進階_資料_變量_記憶體 47:39P5 05.尚矽谷_JS進階_相關問題1 24:22P6 06.尚矽谷_JS進階_相關問題2 25:38
JavaScript進階day01-AM【WebStrom安裝、資料類型分類及判斷、資料-記憶體-變量、引用變量指派、對象的組成】P1 01.尚矽谷_JS進階_準備 07:07P2 02.尚矽谷_JS進階_資料類型 40:43P3 03.尚矽谷_JS進階_相關問題 20:31P4 04.尚矽谷_JS進階_資料_變量_記憶體 47:39P5 05.尚矽谷_JS進階_相關問題1 24:22P6 06.尚矽谷_JS進階_相關問題2 25:38
JavaScript進階day01-AM【WebStrom安裝、資料類型分類及判斷、資料-記憶體-變量、引用變量指派、對象的組成】P1 01.尚矽谷_JS進階_準備 07:07P2 02.尚矽谷_JS進階_資料類型 40:43P3 03.尚矽谷_JS進階_相關問題 20:31P4 04.尚矽谷_JS進階_資料_變量_記憶體 47:39P5 05.尚矽谷_JS進階_相關問題1 24:22P6 06.尚矽谷_JS進階_相關問題2 25:38
JavaScript進階day01-AM【WebStrom安裝、資料類型分類及判斷、資料-記憶體-變量、引用變量指派、對象的組成】P1 01.尚矽谷_JS進階_準備 07:07P2 02.尚矽谷_JS進階_資料類型 40:43P3 03.尚矽谷_JS進階_相關問題 20:31P4 04.尚矽谷_JS進階_資料_變量_記憶體 47:39P5 05.尚矽谷_JS進階_相關問題1 24:22P6 06.尚矽谷_JS進階_相關問題2 25:38
JavaScript進階day01-AM【WebStrom安裝、資料類型分類及判斷、資料-記憶體-變量、引用變量指派、對象的組成】P1 01.尚矽谷_JS進階_準備 07:07P2 02.尚矽谷_JS進階_資料類型 40:43P3 03.尚矽谷_JS進階_相關問題 20:31P4 04.尚矽谷_JS進階_資料_變量_記憶體 47:39P5 05.尚矽谷_JS進階_相關問題1 24:22P6 06.尚矽谷_JS進階_相關問題2 25:38
JavaScript進階day01-AM【WebStrom安裝、資料類型分類及判斷、資料-記憶體-變量、引用變量指派、對象的組成】P1 01.尚矽谷_JS進階_準備 07:07P2 02.尚矽谷_JS進階_資料類型 40:43P3 03.尚矽谷_JS進階_相關問題 20:31P4 04.尚矽谷_JS進階_資料_變量_記憶體 47:39P5 05.尚矽谷_JS進階_相關問題1 24:22P6 06.尚矽谷_JS進階_相關問題2 25:38
JavaScript進階day01-AM【WebStrom安裝、資料類型分類及判斷、資料-記憶體-變量、引用變量指派、對象的組成】P1 01.尚矽谷_JS進階_準備 07:07P2 02.尚矽谷_JS進階_資料類型 40:43P3 03.尚矽谷_JS進階_相關問題 20:31P4 04.尚矽谷_JS進階_資料_變量_記憶體 47:39P5 05.尚矽谷_JS進階_相關問題1 24:22P6 06.尚矽谷_JS進階_相關問題2 25:38
JavaScript進階day01-AM【WebStrom安裝、資料類型分類及判斷、資料-記憶體-變量、引用變量指派、對象的組成】P1 01.尚矽谷_JS進階_準備 07:07P2 02.尚矽谷_JS進階_資料類型 40:43P3 03.尚矽谷_JS進階_相關問題 20:31P4 04.尚矽谷_JS進階_資料_變量_記憶體 47:39P5 05.尚矽谷_JS進階_相關問題1 24:22P6 06.尚矽谷_JS進階_相關問題2 25:38
JavaScript進階day01-AM【WebStrom安裝、資料類型分類及判斷、資料-記憶體-變量、引用變量指派、對象的組成】P1 01.尚矽谷_JS進階_準備 07:07P2 02.尚矽谷_JS進階_資料類型 40:43P3 03.尚矽谷_JS進階_相關問題 20:31P4 04.尚矽谷_JS進階_資料_變量_記憶體 47:39P5 05.尚矽谷_JS進階_相關問題1 24:22P6 06.尚矽谷_JS進階_相關問題2 25:38
JavaScript進階day01-AM【WebStrom安裝、資料類型分類及判斷、資料-記憶體-變量、引用變量指派、對象的組成】P1 01.尚矽谷_JS進階_準備 07:07P2 02.尚矽谷_JS進階_資料類型 40:43P3 03.尚矽谷_JS進階_相關問題 20:31P4 04.尚矽谷_JS進階_資料_變量_記憶體 47:39P5 05.尚矽谷_JS進階_相關問題1 24:22P6 06.尚矽谷_JS進階_相關問題2 25:38
JavaScript進階day01-AM【WebStrom安裝、資料類型分類及判斷、資料-記憶體-變量、引用變量指派、對象的組成】P1 01.尚矽谷_JS進階_準備 07:07P2 02.尚矽谷_JS進階_資料類型 40:43P3 03.尚矽谷_JS進階_相關問題 20:31P4 04.尚矽谷_JS進階_資料_變量_記憶體 47:39P5 05.尚矽谷_JS進階_相關問題1 24:22P6 06.尚矽谷_JS進階_相關問題2 25:38
JavaScript進階day01-AM【WebStrom安裝、資料類型分類及判斷、資料-記憶體-變量、引用變量指派、對象的組成】P1 01.尚矽谷_JS進階_準備 07:07P2 02.尚矽谷_JS進階_資料類型 40:43P3 03.尚矽谷_JS進階_相關問題 20:31P4 04.尚矽谷_JS進階_資料_變量_記憶體 47:39P5 05.尚矽谷_JS進階_相關問題1 24:22P6 06.尚矽谷_JS進階_相關問題2 25:38
JavaScript進階day01-AM【WebStrom安裝、資料類型分類及判斷、資料-記憶體-變量、引用變量指派、對象的組成】P1 01.尚矽谷_JS進階_準備 07:07P2 02.尚矽谷_JS進階_資料類型 40:43P3 03.尚矽谷_JS進階_相關問題 20:31P4 04.尚矽谷_JS進階_資料_變量_記憶體 47:39P5 05.尚矽谷_JS進階_相關問題1 24:22P6 06.尚矽谷_JS進階_相關問題2 25:38
JavaScript進階day01-AM【WebStrom安裝、資料類型分類及判斷、資料-記憶體-變量、引用變量指派、對象的組成】P1 01.尚矽谷_JS進階_準備 07:07P2 02.尚矽谷_JS進階_資料類型 40:43P3 03.尚矽谷_JS進階_相關問題 20:31P4 04.尚矽谷_JS進階_資料_變量_記憶體 47:39P5 05.尚矽谷_JS進階_相關問題1 24:22P6 06.尚矽谷_JS進階_相關問題2 25:38
JavaScript進階day01-AM【WebStrom安裝、資料類型分類及判斷、資料-記憶體-變量、引用變量指派、對象的組成】P1 01.尚矽谷_JS進階_準備 07:07P2 02.尚矽谷_JS進階_資料類型 40:43P3 03.尚矽谷_JS進階_相關問題 20:31P4 04.尚矽谷_JS進階_資料_變量_記憶體 47:39P5 05.尚矽谷_JS進階_相關問題1 24:22P6 06.尚矽谷_JS進階_相關問題2 25:38
JavaScript進階day01-AM【WebStrom安裝、資料類型分類及判斷、資料-記憶體-變量、引用變量指派、對象的組成】P1 01.尚矽谷_JS進階_準備 07:07P2 02.尚矽谷_JS進階_資料類型 40:43P3 03.尚矽谷_JS進階_相關問題 20:31P4 04.尚矽谷_JS進階_資料_變量_記憶體 47:39P5 05.尚矽谷_JS進階_相關問題1 24:22P6 06.尚矽谷_JS進階_相關問題2 25:38
JavaScript進階day01-AM【WebStrom安裝、資料類型分類及判斷、資料-記憶體-變量、引用變量指派、對象的組成】P1 01.尚矽谷_JS進階_準備 07:07P2 02.尚矽谷_JS進階_資料類型 40:43P3 03.尚矽谷_JS進階_相關問題 20:31P4 04.尚矽谷_JS進階_資料_變量_記憶體 47:39P5 05.尚矽谷_JS進階_相關問題1 24:22P6 06.尚矽谷_JS進階_相關問題2 25:38

JS進階 Xmind 思維導圖

JavaScript進階day01-AM【WebStrom安裝、資料類型分類及判斷、資料-記憶體-變量、引用變量指派、對象的組成】P1 01.尚矽谷_JS進階_準備 07:07P2 02.尚矽谷_JS進階_資料類型 40:43P3 03.尚矽谷_JS進階_相關問題 20:31P4 04.尚矽谷_JS進階_資料_變量_記憶體 47:39P5 05.尚矽谷_JS進階_相關問題1 24:22P6 06.尚矽谷_JS進階_相關問題2 25:38

WebStorm 導入檔案

JavaScript進階day01-AM【WebStrom安裝、資料類型分類及判斷、資料-記憶體-變量、引用變量指派、對象的組成】P1 01.尚矽谷_JS進階_準備 07:07P2 02.尚矽谷_JS進階_資料類型 40:43P3 03.尚矽谷_JS進階_相關問題 20:31P4 04.尚矽谷_JS進階_資料_變量_記憶體 47:39P5 05.尚矽谷_JS進階_相關問題1 24:22P6 06.尚矽谷_JS進階_相關問題2 25:38
JavaScript進階day01-AM【WebStrom安裝、資料類型分類及判斷、資料-記憶體-變量、引用變量指派、對象的組成】P1 01.尚矽谷_JS進階_準備 07:07P2 02.尚矽谷_JS進階_資料類型 40:43P3 03.尚矽谷_JS進階_相關問題 20:31P4 04.尚矽谷_JS進階_資料_變量_記憶體 47:39P5 05.尚矽谷_JS進階_相關問題1 24:22P6 06.尚矽谷_JS進階_相關問題2 25:38

P2 02.尚矽谷_JS進階_資料類型 40:43

JavaScript進階day01-AM【WebStrom安裝、資料類型分類及判斷、資料-記憶體-變量、引用變量指派、對象的組成】P1 01.尚矽谷_JS進階_準備 07:07P2 02.尚矽谷_JS進階_資料類型 40:43P3 03.尚矽谷_JS進階_相關問題 20:31P4 04.尚矽谷_JS進階_資料_變量_記憶體 47:39P5 05.尚矽谷_JS進階_相關問題1 24:22P6 06.尚矽谷_JS進階_相關問題2 25:38

資料類型 分類

基本(值)類型
  1. Number:任意數值
  2. String:任意文本
  3. Boolean:true / false
  4. undefined:undefined
  5. null:null
對象(引用)類型
  1. Object:任意對象([]、函數...)
  2. Array:特别的對象類型(數值下标 / 内部資料有序)
  3. Function:特别的對象類型(可執行)

資料類型 判斷

typeof
  1. 傳回資料類型的字元串表達;
  2. 可以差別:數值、字元串、布爾值、undefined、function;
  3. 不能差別:null與object、一般object與array。
instanceof
  1. 專門用來判斷對象資料的類型:Object、Array與Function。
===
  1. 可以判斷:undefined和null。
JavaScript進階day01-AM【WebStrom安裝、資料類型分類及判斷、資料-記憶體-變量、引用變量指派、對象的組成】P1 01.尚矽谷_JS進階_準備 07:07P2 02.尚矽谷_JS進階_資料類型 40:43P3 03.尚矽谷_JS進階_相關問題 20:31P4 04.尚矽谷_JS進階_資料_變量_記憶體 47:39P5 05.尚矽谷_JS進階_相關問題1 24:22P6 06.尚矽谷_JS進階_相關問題2 25:38
=== 可以判斷:undefined和null。預設值唯一 ---> undefined:undefined;null:null。
JavaScript進階day01-AM【WebStrom安裝、資料類型分類及判斷、資料-記憶體-變量、引用變量指派、對象的組成】P1 01.尚矽谷_JS進階_準備 07:07P2 02.尚矽谷_JS進階_資料類型 40:43P3 03.尚矽谷_JS進階_相關問題 20:31P4 04.尚矽谷_JS進階_資料_變量_記憶體 47:39P5 05.尚矽谷_JS進階_相關問題1 24:22P6 06.尚矽谷_JS進階_相關問題2 25:38
JavaScript進階day01-AM【WebStrom安裝、資料類型分類及判斷、資料-記憶體-變量、引用變量指派、對象的組成】P1 01.尚矽谷_JS進階_準備 07:07P2 02.尚矽谷_JS進階_資料類型 40:43P3 03.尚矽谷_JS進階_相關問題 20:31P4 04.尚矽谷_JS進階_資料_變量_記憶體 47:39P5 05.尚矽谷_JS進階_相關問題1 24:22P6 06.尚矽谷_JS進階_相關問題2 25:38
JavaScript進階day01-AM【WebStrom安裝、資料類型分類及判斷、資料-記憶體-變量、引用變量指派、對象的組成】P1 01.尚矽谷_JS進階_準備 07:07P2 02.尚矽谷_JS進階_資料類型 40:43P3 03.尚矽谷_JS進階_相關問題 20:31P4 04.尚矽谷_JS進階_資料_變量_記憶體 47:39P5 05.尚矽谷_JS進階_相關問題1 24:22P6 06.尚矽谷_JS進階_相關問題2 25:38
<!DOCTYPE html>
<html >
<head>
    <meta charset="UTF-8">
    <title>01_資料類型</title>
</head>
<body>
<script type="text/javascript">
    var b1 = { // 對象類型
        b2: [1, 'abc', console.log],
        b3: function () {
            console.log('b3')
            return function () {
                return 'xfzhang'
            }
        }
    }

    console.log(b1 instanceof Object, b1 instanceof Array) // true false
    console.log(b1.b2 instanceof Array, b1.b2 instanceof Object) // true true
    console.log(b1.b3 instanceof Function, b1.b3 instanceof Object) // true true

    console.log(typeof b1.b3 === 'function') // true

    console.log(typeof b1.b2[2] === 'function') // true
    b1.b2[2](4) // 4
    console.log(b1.b3()()) // xfzhang


    console.log(typeof Array) // function
    console.log(typeof b1.b2) // object
    console.log(typeof b1.b2[2]) // function
    console.log("---")
    console.log(b1.b2[2](4)) // 4 undefined
    console.log("--- ---")
    console.log(b1.b2[2]) // ƒ log() { [native code] }
    console.log("--- --- --- ---")
    console.log(b1.b2[2]('abc')) // 'abc' undefined
    console.log("--- --- ---")
    console.log(b1.b3()) // b3 ƒ (){ return 'xfzhang' }
</script>
</body>
</html>
           

P3 03.尚矽谷_JS進階_相關問題 20:31

執行個體

使用同一個構造函數建立的對象,我們稱為一類對象,也将一個構造函數稱為一個類。我們将通過一個構造函數建立的對象,稱為是該類的執行個體。
JavaScript進階day01-AM【WebStrom安裝、資料類型分類及判斷、資料-記憶體-變量、引用變量指派、對象的組成】P1 01.尚矽谷_JS進階_準備 07:07P2 02.尚矽谷_JS進階_資料類型 40:43P3 03.尚矽谷_JS進階_相關問題 20:31P4 04.尚矽谷_JS進階_資料_變量_記憶體 47:39P5 05.尚矽谷_JS進階_相關問題1 24:22P6 06.尚矽谷_JS進階_相關問題2 25:38

1. undefined與null的差別?

1. undefined與null的差別?

undefined代表定義未指派;null定義并指派,隻是值為null。

JavaScript進階day01-AM【WebStrom安裝、資料類型分類及判斷、資料-記憶體-變量、引用變量指派、對象的組成】P1 01.尚矽谷_JS進階_準備 07:07P2 02.尚矽谷_JS進階_資料類型 40:43P3 03.尚矽谷_JS進階_相關問題 20:31P4 04.尚矽谷_JS進階_資料_變量_記憶體 47:39P5 05.尚矽谷_JS進階_相關問題1 24:22P6 06.尚矽谷_JS進階_相關問題2 25:38

2. 什麼時候給變量指派為null呢?

2. 什麼時候給變量指派為null呢?

初始指派,表明将要指派為對象;結束前,讓對象成為垃圾對象(被垃圾回收器回收)。初始化指派:将要作為引用變量使用, 但對象還沒有确定。結束時:将變量指向的對象成為垃圾對象。

var a = null // a将指向一個對象,但對象此時還沒有确定

a = null // 讓a指向的對象成為垃圾對象

JavaScript進階day01-AM【WebStrom安裝、資料類型分類及判斷、資料-記憶體-變量、引用變量指派、對象的組成】P1 01.尚矽谷_JS進階_準備 07:07P2 02.尚矽谷_JS進階_資料類型 40:43P3 03.尚矽谷_JS進階_相關問題 20:31P4 04.尚矽谷_JS進階_資料_變量_記憶體 47:39P5 05.尚矽谷_JS進階_相關問題1 24:22P6 06.尚矽谷_JS進階_相關問題2 25:38
JavaScript進階day01-AM【WebStrom安裝、資料類型分類及判斷、資料-記憶體-變量、引用變量指派、對象的組成】P1 01.尚矽谷_JS進階_準備 07:07P2 02.尚矽谷_JS進階_資料類型 40:43P3 03.尚矽谷_JS進階_相關問題 20:31P4 04.尚矽谷_JS進階_資料_變量_記憶體 47:39P5 05.尚矽谷_JS進階_相關問題1 24:22P6 06.尚矽谷_JS進階_相關問題2 25:38

3. 嚴格差別變量類型與資料類型?

3. 嚴格差別變量類型與資料類型?

js的變量本身是沒有類型的,變量的類型實際上是變量記憶體中資料的類型(js是弱類型的語言)。var a; 判斷變量類型,實際上 是判斷值的類型。

資料的類型(資料對象):

    * 基本類型

    * 對象類型

變量的類型(變量記憶體值的類型):

    * 基本類型:儲存基本類型的資料(儲存基本類型資料的變量)。

    * 引用類型:儲存對象位址值(儲存對象位址值的變量)。

JavaScript進階day01-AM【WebStrom安裝、資料類型分類及判斷、資料-記憶體-變量、引用變量指派、對象的組成】P1 01.尚矽谷_JS進階_準備 07:07P2 02.尚矽谷_JS進階_資料類型 40:43P3 03.尚矽谷_JS進階_相關問題 20:31P4 04.尚矽谷_JS進階_資料_變量_記憶體 47:39P5 05.尚矽谷_JS進階_相關問題1 24:22P6 06.尚矽谷_JS進階_相關問題2 25:38
JavaScript進階day01-AM【WebStrom安裝、資料類型分類及判斷、資料-記憶體-變量、引用變量指派、對象的組成】P1 01.尚矽谷_JS進階_準備 07:07P2 02.尚矽谷_JS進階_資料類型 40:43P3 03.尚矽谷_JS進階_相關問題 20:31P4 04.尚矽谷_JS進階_資料_變量_記憶體 47:39P5 05.尚矽谷_JS進階_相關問題1 24:22P6 06.尚矽谷_JS進階_相關問題2 25:38

P4 04.尚矽谷_JS進階_資料_變量_記憶體 47:39

1. 什麼是資料?

存儲于記憶體中代表特定資訊的'東東',本質就是0101(二進制)...

資料的特點:具有可讀、可傳遞、可運算的基本特性。

萬物(一切)皆資料,函數也是資料。

記憶體(程式)中所有操作的目标: 資料

 * 算術運算

 * 邏輯運算

 * 指派

 * 運作函數(調用函數傳參)

...

2. 什麼是記憶體?

記憶體條通電後産生的可存儲資料的空間(臨時的)。

記憶體産生和死亡: 記憶體條(內建電路闆)==>通電==>産生一定容量的存儲(記憶體)空間==>存儲各種資料==>處理資料==>斷電==>記憶體和資料全部消失

記憶體的空間是臨時的, 而硬碟的空間是持久的

一塊記憶體包含2個資料

 * 内部存儲的資料(一般資料/位址資料)

 * 記憶體位址值資料

記憶體分類

 * 棧: 全局變量/局部變量 (空間較小)

 * 堆: 對象 (空間較大)

JavaScript進階day01-AM【WebStrom安裝、資料類型分類及判斷、資料-記憶體-變量、引用變量指派、對象的組成】P1 01.尚矽谷_JS進階_準備 07:07P2 02.尚矽谷_JS進階_資料類型 40:43P3 03.尚矽谷_JS進階_相關問題 20:31P4 04.尚矽谷_JS進階_資料_變量_記憶體 47:39P5 05.尚矽谷_JS進階_相關問題1 24:22P6 06.尚矽谷_JS進階_相關問題2 25:38

3. 什麼是變量?

值可以變化的量,由變量名與變量值組成。

一個變量對應一塊小記憶體,變量名用來查找對應的記憶體,變量值就是記憶體中儲存的内容。

JavaScript進階day01-AM【WebStrom安裝、資料類型分類及判斷、資料-記憶體-變量、引用變量指派、對象的組成】P1 01.尚矽谷_JS進階_準備 07:07P2 02.尚矽谷_JS進階_資料類型 40:43P3 03.尚矽谷_JS進階_相關問題 20:31P4 04.尚矽谷_JS進階_資料_變量_記憶體 47:39P5 05.尚矽谷_JS進階_相關問題1 24:22P6 06.尚矽谷_JS進階_相關問題2 25:38

4. 記憶體、資料、變量三者之間的關系。

記憶體是一個容器,用來存儲程式運作需要操作的資料(記憶體是用來存儲資料的空間)。

變量是記憶體的辨別,我們通過變量找到對應的記憶體,進而操作(讀/寫)記憶體中的資料。

P5 05.尚矽谷_JS進階_相關問題1 24:22

情況讨論:var a = xxx(指派操作),a記憶體中到底儲存的是什麼?

問題:var a = xxx(指派操作),a記憶體中到底儲存的是什麼?
  1. xxx是一個基本資料,儲存的就是這個資料。
  2. xxx是一個對象,儲存的是對象的位址值。
  3. xxx是一個變量,儲存的xxx的記憶體内容(儲存的可能是基本資料,也可能是位址值資料)。
JavaScript進階day01-AM【WebStrom安裝、資料類型分類及判斷、資料-記憶體-變量、引用變量指派、對象的組成】P1 01.尚矽谷_JS進階_準備 07:07P2 02.尚矽谷_JS進階_資料類型 40:43P3 03.尚矽谷_JS進階_相關問題 20:31P4 04.尚矽谷_JS進階_資料_變量_記憶體 47:39P5 05.尚矽谷_JS進階_相關問題1 24:22P6 06.尚矽谷_JS進階_相關問題2 25:38

關于引用變量指派問題

關于引用變量指派問題
  • 2個引用變量指向同一個對象(儲存的内容是同一個對象的位址值),通過一個引用變量修改對象内部資料,另一個引用變量也看得見(看見的是修改之後的資料)。
  • 2個引用變量指向同一個對象,讓一個引用變量指向另一個對象,另一個引用變量還是指向原來的對象。
此圖,針對第1條解釋。
JavaScript進階day01-AM【WebStrom安裝、資料類型分類及判斷、資料-記憶體-變量、引用變量指派、對象的組成】P1 01.尚矽谷_JS進階_準備 07:07P2 02.尚矽谷_JS進階_資料類型 40:43P3 03.尚矽谷_JS進階_相關問題 20:31P4 04.尚矽谷_JS進階_資料_變量_記憶體 47:39P5 05.尚矽谷_JS進階_相關問題1 24:22P6 06.尚矽谷_JS進階_相關問題2 25:38
此圖,針對第2條解釋。
JavaScript進階day01-AM【WebStrom安裝、資料類型分類及判斷、資料-記憶體-變量、引用變量指派、對象的組成】P1 01.尚矽谷_JS進階_準備 07:07P2 02.尚矽谷_JS進階_資料類型 40:43P3 03.尚矽谷_JS進階_相關問題 20:31P4 04.尚矽谷_JS進階_資料_變量_記憶體 47:39P5 05.尚矽谷_JS進階_相關問題1 24:22P6 06.尚矽谷_JS進階_相關問題2 25:38
<!DOCTYPE html>
<html >
	<head>
		<meta charset="UTF-8">
		<title>02_關于引用變量指派問題</title>
	</head>
	<body>
		<script type="text/javascript">
			//1. 2個引用變量指向同一個對象, 通過一個引用變量修改對象内部資料, 另一個引用變量也看得見
			var obj1 = {}
			var obj2 = obj1
			obj2.name = 'Tom'
			console.log(obj1.name) // Tom

			function f1(obj) {
				obj.age = 12
			}
			f1(obj2)
			console.log(obj1.age) // 12

			//2. 2個引用變量指向同一個對象,讓一個引用變量指向另一個對象, 另一個引用變量還是指向原來的對象
			var obj3 = {
				name: 'Tom'
			}
			var obj4 = obj3
			obj3 = {
				name: 'JACK'
			}
			console.log(obj4.name) // Tom

			function f2(obj) {
				obj = {
					name: 'Bob'
				}
			}
			f2(obj4)
			console.log(obj4.name) // Tom
			


			var a = {age: 12}; // 2個引用變量指向同一個對象
			var b = a;         // 2個引用變量指向同一個對象
			a = {name: 'Bob', age: 13}; // 将新的對象指派給a
			b.age = 14; // 另一個引用變量還是指向原來的對象
			console.log(b.age, a.name, a.age); // 14 "Bob" 13
			
			function fn2 (obj) {
				obj = {age: 15}; // 新的對象(垃圾對象)
			}
			fn2(a); // 函數執行完,函數内部的局部變量(obj)會自動釋放

//總結:obj引用的位址值發生改變,不再引用傳進來的形參位址,并且函數作用域的原因,這個對象隻能在函數内使用。
			console.log(a.age); // 13
		</script>
	</body>
</html>
           

P6 06.尚矽谷_JS進階_相關問題2 25:38

關于引用變量指派問題

obj和a存的堆位址相同,下一步指派obj的堆位址改變了,但是他并沒有改變之前a裡存的堆位址的内容。

就是把a的内容拷貝一份到函數參數obj上,但函數内部obj指向了新對象,但不影響a指向的對象。

函數形參傳進去之後,複制a的值給obj,這兩個棧記憶體指向一個堆記憶體的資料。之後obj={age:15},這時:obj指向另一個堆記憶體,這兩個堆記憶體不一樣了,再用obj修改age也不會影響到a指向的age。

JavaScript進階day01-AM【WebStrom安裝、資料類型分類及判斷、資料-記憶體-變量、引用變量指派、對象的組成】P1 01.尚矽谷_JS進階_準備 07:07P2 02.尚矽谷_JS進階_資料類型 40:43P3 03.尚矽谷_JS進階_相關問題 20:31P4 04.尚矽谷_JS進階_資料_變量_記憶體 47:39P5 05.尚矽谷_JS進階_相關問題1 24:22P6 06.尚矽谷_JS進階_相關問題2 25:38

關于資料傳遞問題

問題:在js調用函數時傳遞變量參數時,是值傳遞還是引用傳遞?
  • 了解1:都是值(基本/位址值)傳遞。
  • 了解2:可能是值傳遞,也可能是引用傳遞(位址值)。
  • 隻有值傳遞,沒有引用傳遞,傳遞的都是變量的值,隻是這個值可能是基本資料,也可能是位址(引用)資料。
  • 如果後一種看成是引用傳遞,那就值傳遞和引用傳遞都可以有。

因為函數裡的a是函數内的局部變量,換成this.a = a + 1,這時候this.a就是你最開始定義的a。

假設形參是x,調用函數傳參時,發生了兩件事:1、讀取全局變量a的值;2、将值指派給x ,然後執行函數内代碼。

括号裡的a是全局裡的a的值copy給他的。

JavaScript進階day01-AM【WebStrom安裝、資料類型分類及判斷、資料-記憶體-變量、引用變量指派、對象的組成】P1 01.尚矽谷_JS進階_準備 07:07P2 02.尚矽谷_JS進階_資料類型 40:43P3 03.尚矽谷_JS進階_相關問題 20:31P4 04.尚矽谷_JS進階_資料_變量_記憶體 47:39P5 05.尚矽谷_JS進階_相關問題1 24:22P6 06.尚矽谷_JS進階_相關問題2 25:38
JavaScript進階day01-AM【WebStrom安裝、資料類型分類及判斷、資料-記憶體-變量、引用變量指派、對象的組成】P1 01.尚矽谷_JS進階_準備 07:07P2 02.尚矽谷_JS進階_資料類型 40:43P3 03.尚矽谷_JS進階_相關問題 20:31P4 04.尚矽谷_JS進階_資料_變量_記憶體 47:39P5 05.尚矽谷_JS進階_相關問題1 24:22P6 06.尚矽谷_JS進階_相關問題2 25:38

記憶體管理

問題:JS引擎如何管理記憶體?

1. 記憶體生命周期

  1. 配置設定小記憶體空間,得到它的使用權(配置設定需要的記憶體)。
  2. 存儲資料,可以反複進行操作(使用配置設定到的記憶體)。
  3. 釋放小記憶體空間(不需要時将其釋放/歸還)。
2. 釋放記憶體
  1. 局部變量:函數執行完 自動釋放(為執行函數配置設定的棧空間記憶體)。
  2. 對象:成為垃圾對象==>垃圾回收器回收(存儲對象的堆空間記憶體:當記憶體沒有引用指向時,對象成為垃圾對象,垃圾回收器後面就會回收釋放此記憶體。)
JavaScript進階day01-AM【WebStrom安裝、資料類型分類及判斷、資料-記憶體-變量、引用變量指派、對象的組成】P1 01.尚矽谷_JS進階_準備 07:07P2 02.尚矽谷_JS進階_資料類型 40:43P3 03.尚矽谷_JS進階_相關問題 20:31P4 04.尚矽谷_JS進階_資料_變量_記憶體 47:39P5 05.尚矽谷_JS進階_相關問題1 24:22P6 06.尚矽谷_JS進階_相關問題2 25:38
JavaScript進階day01-AM【WebStrom安裝、資料類型分類及判斷、資料-記憶體-變量、引用變量指派、對象的組成】P1 01.尚矽谷_JS進階_準備 07:07P2 02.尚矽谷_JS進階_資料類型 40:43P3 03.尚矽谷_JS進階_相關問題 20:31P4 04.尚矽谷_JS進階_資料_變量_記憶體 47:39P5 05.尚矽谷_JS進階_相關問題1 24:22P6 06.尚矽谷_JS進階_相關問題2 25:38
JavaScript進階day01-AM【WebStrom安裝、資料類型分類及判斷、資料-記憶體-變量、引用變量指派、對象的組成】P1 01.尚矽谷_JS進階_準備 07:07P2 02.尚矽谷_JS進階_資料類型 40:43P3 03.尚矽谷_JS進階_相關問題 20:31P4 04.尚矽谷_JS進階_資料_變量_記憶體 47:39P5 05.尚矽谷_JS進階_相關問題1 24:22P6 06.尚矽谷_JS進階_相關問題2 25:38

var a = 3; var obj = {}; // 占用3個空間,2個棧區一個堆區:a = 3、obj、{}(對象占用空間最大)。

obj = null; // 占用2個空間,{}占用的空間被回收。

obj等于任意值,與堆的連接配接就取消了,是以堆的那塊成了垃圾,而棧這邊的obj還是等于任意值,全局變量obj并沒有釋放。

JavaScript進階day01-AM【WebStrom安裝、資料類型分類及判斷、資料-記憶體-變量、引用變量指派、對象的組成】P1 01.尚矽谷_JS進階_準備 07:07P2 02.尚矽谷_JS進階_資料類型 40:43P3 03.尚矽谷_JS進階_相關問題 20:31P4 04.尚矽谷_JS進階_資料_變量_記憶體 47:39P5 05.尚矽谷_JS進階_相關問題1 24:22P6 06.尚矽谷_JS進階_相關問題2 25:38

繼續閱讀