筆記、視訊、源碼: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
資料類型 分類
基本(值)類型對象(引用)類型
- Number:任意數值
- String:任意文本
- Boolean:true / false
- undefined:undefined
- null:null
- Object:任意對象([]、函數...)
- Array:特别的對象類型(數值下标 / 内部資料有序)
- Function:特别的對象類型(可執行)
資料類型 判斷
typeofinstanceof
- 傳回資料類型的字元串表達;
- 可以差別:數值、字元串、布爾值、undefined、function;
- 不能差別:null與object、一般object與array。
===
- 專門用來判斷對象資料的類型:Object、Array與Function。
- 可以判斷:undefined和null。
=== 可以判斷: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 ![]()
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記憶體中到底儲存的是什麼?
- xxx是一個基本資料,儲存的就是這個資料。
- xxx是一個對象,儲存的是對象的位址值。
- 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. 記憶體生命周期
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