2. 形參就至關於 一個局部變量,不傳參默認爲undefined; 正則表達式
3. 打印函數名 是打印整串代碼 ,由於 沒有加小括號 調用運行裏面的代碼; api
4. 函數做爲參數傳遞 就是把另外一個函數的地址存到形參裏進行調用 例如 a函數的地址賦予了形參b , 那麼形參b 就能夠加小括號進行調用了啊;數組
5. 函數做爲返回值(return) 好比返回a函數 就至關於返回函數a的地址 另外一個調用者 用一個變量接收後 裏面返回的是函數a的地址 給這個變量加個小括號就能夠調用了; 函數
6. 函數的建立方式 匿名函數var fun = function (){} new Function("console.log('我是一顆小草')") 聲明式函數 function fun(){} 自執行函數(至關於匿名函數) (function(){})(),外部訪問不到this
7. 數組的建立方式 兩大類 ,分五種 1.空數組new Array 2.初始空間 new Array(3) 3. 初始值實例化new Array('1','2','3') 4.空數組方括號 , 5.方括號初始值 對象
8. 對象的建立方式 1.空對象new Object() 2. new Object({}) 帶初始成員的 字面量方式: 1. 空對象var obj {}; 2. 空對象初始值 : var obj = {name:'毛毛',age:18}; 排序
9. 預解析 會把聲明式函數提高到做用域最頂端 會把聲明的變量提高到做用域(全局做用域/window對象)最頂端,再執行後面的代碼; 在函數局部做用域裏 就近原則; 內存
10. 全部的實參都按照順序的賦給了形參; 作用域
11. 函數內部的屬性 arguments,是一個儲存實參列表的類數組; 字符串
12. arguments能夠模擬函數重載(函數名同樣,根據傳遞不一樣的形參數量,執行不一樣的業務代碼); 結合if arguments.length使用;
13. 對象的訪問 訪問不存在的屬性 undefined 訪問不存在的方法 報錯;
14. 對象的增(obj.想要添加的屬性的名字再賦值便可) 刪 delete obj.屬性或者方法 改obj.屬性名=想要改的值; 查obj.屬性名/方法名(注意要加小括號);
15. 對象的中括號訪問 obj['屬性名'] 記住中括號裏面的必定要是字符串 ;由於頁面中沒有你要訪問的變量; 能夠用來接收用戶要輸入的屬性名 例如 存到變量裏 要求用戶輸入屬性名 接收的是一個字符串obj[變量名];
16. 使用in關鍵字判斷對象中是否存在某個屬性 console.log('屬性名' in 對象名) 能夠結合中括號訪問法使用;
17. 使用for in 遍歷對象裏的成員 for (var 變量名 in obj){console.log('變量名')} for in是經過遍歷對象裏的每一個屬性和方法,存入到聲明的變量中;
18. 對象方法中的this 誰點出的這個方法 這個this就是誰 在函數調用時 js引擎會自動把調用對象 傳遞給方法裏的this;
19. 全部的全局變量都是 添加到 window對象裏的 window能夠省略 也能夠經過 window 點出你建立的屬性和方法 ;
20. 簡單工廠函數 用來建立實例對象 並返回 哪裏須要使用 調用傳參便可;
21. 建立構造函數 首字母大寫 屬性用this.屬性名 new關鍵字調用構造函數;
22. new 關鍵字 作的 4件事情 // a. 建立 一個 空對象 // b. 將 空對象 傳給 了 構造函數 裏的 this // c. 調用 構造函數-- 意味着 經過構造函數 爲 空對象 添加了 成員(屬性和方法) // d. 返回 添加了 成員的 對象 (就是 第一步 建立的 那個 空對象,只不過 已經有成員了)
23.在頁面與解析完成以後,js引擎開始執行js代碼以前,會產生兩個做用域.全局做用域(window做用域自己是一個對象,做用域就像至關於一個容器),函數被調用時會產生一個局部做用域(object一個對象,至關於一個容器);
24. 函數的局部做用域能夠訪問全局做用域的內容,優先訪問局部做用域內的;
25. 函數內部聲明不使var 就是全局做用域變量;
26. 變量中的賦值實際上是至關於把另外一個的值複製一份給另外一個變量;
27. 建立日期對象api 可使用 new Date對象 本身拼接 對象.get 獲取其餘參數;
28. // var arr1 = ['這', '是', '一', '個', '寂', '寞', '的', '天']; // console.log(arr1); // var arr2 = ['下', '着', '有', '些', '傷', '心', '的', '雨']; // console.log(arr2); // var newArr = arr1.concat(arr2); // newArr = newArr.concat('你', '是', '黑', '馬', '的', '嗎'); // console.log(newArr);
29. // var arr1 = ['這', '是', '一', '個', '寂', '寞', '的', '天']; // console.log(arr1); // var newArr2 = arr1.join(''); // console.log(newArr2); // // join 把數組中的元素按照分隔符拼接成一個字符串,並返回新的字符串;不填默認是逗號分隔,空字符串是無分隔符,可使用 | 分隔;
30. var arr1 = ['這', '是', '一', '個', '寂', '寞', '的', '天']; console.log(arr1); arr1.reverse(); console.log(arr1); // reverse 翻轉數組 不用接收新的數組,直接翻轉;
31. unshift 從數組頭部添加一個元素,須要從頭部添加多個元素,則在括號裏寫就好了;
32. shift刪除數組第一個元素,該方法不會返回新的數組;
33. push 從數組尾部添加元素,有多個元素,則寫在括號裏就好了;
34. pop 刪除數組尾部的第一個元素;
35. splice刪除數組中的元素(index,count,replace) 刪除的下標 須要刪除的數量 須要替換的內容(能夠替換多個內容,繼續寫就好);
36. slice 獲取指定下標區間的元素 slice(index,小於不包含index);
37. toLocaleString() 將數組轉換爲本地分隔字符串 逗號隔開每一個字符串; toString() 也能夠將數組轉成字符串;
38. 數組排序 sort((a,b) => a-b)升序 sort((a,b) => b-a)倒序
39. 翻轉字符串 : var str = 'abcdef123456789'; var str1 = str.split('').reverse().join(''); console.log(str1);
40. split()不傳東西進去 則會把一個字符串拼接成一個長度爲1的數組;
split('')將字符串分隔成數組,一個單詞也分,數字也分,空格也分,符號也分;
var sentence = 'what are you doing now';
var words = sentence.split('')
console.log(words); //length 22
split(' ')用符號隔開則會將字符串當作是一個總體,分爲長度爲1的數組;
var sentence = 'what,are,you,doing,now';
var words = sentence.split(' ')
console.log(words);//length 1 split(' ')
用空格把一句話中的字符隔開,則會將字符串當作不是一個總體,有多少個空格隔開的字符,則分爲多少個長度;
var sentence = 'what are you doing now';
var words = sentence.split(' ')
console.log(words);//length 5
split(第一個參數,指定字符串開始分隔,被指定的那個元素已經被刪除了)
var sentence = 'what:are:you';
var words = sentence.split(':')
console.log(words); //["what", "are", "you"]
若只須要返回一部分字符則能夠 split('',count); var sentence = 'abcdf123456789';
var words = sentence.split('',5)
console.log(words); ["a", "b", "c", "d", "f"]
41.charAt 根據下標返回下標對應的元素字符串 charAt(index);
42. 字符串的恆定性 concat 拼接兩個字符串 並返回一個新的字符串 須要接收;
43. indexOf('字符') 根據字符找到第一個匹配字符的下標,若是indexOf()中須要填寫多個字符,則會返回找到的第一個匹配的下標; 下標須要用變量接收 lastIndexOf('字符') 根據字符找到字符串中最後一個匹配的下標;
44. substr(index,count) index從哪裏開始截取,count要截取字符串的數量,若是不傳第二個參數,則默認從指定下標一直截取到最後一個; substring(index,小於不包含index) index 從哪裏開始 小於不包含index的截取;
45. replace 替換字符串 replace(本來字符串須要替換的字符,想要替換後的字符); 默認只匹配替換第一個須要替換的字符; 想要所有匹配,可使用正則表達式 replace(/字符/g,字符)
46. toUpperCase 轉大寫; toLowerCase 轉小寫;
47. 47. replace(/ /g,'') --> 去掉全部的空格;