get 從服務(wù)器獲取數(shù)據(jù)? post從服務(wù)器傳數(shù)據(jù)
閉包? 子函數(shù)可以調(diào)用父函數(shù)的屬性方法? ? ? ? ? ?函數(shù)返回時(shí)沒有是放資源
函數(shù)返回時(shí)沒有釋放資源的棧區(qū)
數(shù)組的方法
push從后面添加? ?返回值是數(shù)組的長度
pop 從后面刪除? ?返回值是刪除的元素
unshift從前面添加? ?返回值是數(shù)組的長度
shift從前面刪除? ? 返回值是刪除的元素
reverse反轉(zhuǎn)? ? ?返回值是反轉(zhuǎn)后的數(shù)組
join合并
concat? a數(shù)組與b數(shù)組連接? 返回值是連接后的新數(shù)組
splice(index,number鞍恢,替換成1傻粘,替換成2) 切? ? 從index開始,刪除number個(gè)帮掉,替換成 1弦悉,替換成2...
slice(start,end)? ?返回?cái)?shù)組從start 到end-1的值
filter 過濾符合條件的對象? ?返回一個(gè)符合要求的數(shù)組
findIndex? ?返回第一個(gè)符合條件的對象的index? ? ? ? ?“”第一個(gè)“”符合條件的
find()找不到返回-1? ? 找到“第一個(gè)”符合條件的數(shù)組成員
map() 映射? ?可以全局更改對應(yīng)的值? 比如都加上2? ? ?返回一個(gè)新數(shù)組
reduce(回調(diào),初始值)迭代數(shù)組所有項(xiàng)? ??
every() 是不是每個(gè)都符合? 有一個(gè)不符合則返回false? ? ?返回值為boolean
some()數(shù)組是否有一個(gè)符合條件? ? ? ? ? ? ?返回值為boolean
forEach(value,index,array)? 等同于for循環(huán)
Array.from 將偽數(shù)組轉(zhuǎn)化成數(shù)組? 可以使用其方法
Array.of('2')等同于new Array(2)? ?數(shù)組的length都是1
arr.includes()? 是否包含 返回Boolean? 并且可以判斷NaN
arr.keys()
arr.values()
arr.entries()
判斷一個(gè)對象的類型
a? typeof
b instanceof? 判斷一個(gè)對象是否為一個(gè)類的實(shí)例? ? ? ? ? ? ? ? ?是否為一個(gè)類的實(shí)例
c? constructor? ?構(gòu)造函數(shù)判斷
d? Object.property.toString.call()? 例如 [object Array]? ?Object.property.toString.call()? ? ? 屬性字符串化指向
跨域的方法
?瀏覽器對js實(shí)行安全策略? ?同源政策(協(xié)議蟆炊、域名稽莉、端口)
a? jsonp? ?動(dòng)態(tài)創(chuàng)建script? 引入跨域文件
b postMessage? ?window.postMessage
c CORS 需要請求頭支持
函數(shù)防抖? 函數(shù)節(jié)流
節(jié)流? 一定的時(shí)間內(nèi)執(zhí)行一次
防抖? 時(shí)間夠用才執(zhí)行
前端性能優(yōu)化
1減少HTTP請求
2少用dom操作? ?減少dom元素?cái)?shù)量
3代碼合并壓縮? ?精靈圖片? 壓縮js? css? html
4少用耗性能的 opacity
5將外部腳本放到地下? ? js放到? body底下
6懶加載
7避免重復(fù)的請求? 或者少用緩存
8避免重定向
9.圖片懶加載
10js放在頁面底部
11減少dns查詢
作用域鏈針對變量的? 如果變量范圍內(nèi)找不到就會(huì)沿著作用域鏈往外找
原型鏈針對構(gòu)造函數(shù)
語義化
a用正確的標(biāo)簽去做正確的事? ? ? ? ? ? ? ? ? ? ? 正確標(biāo)簽做正確的事
b利于SEO? ?便于瀏覽器? 搜索引擎的搜索? ?利于seo?
c無css時(shí)也是有格式的? 便于閱讀? ? ? ? ? ? ? ?無css有格式? 利于閱讀
d 利于后期維護(hù)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?便于后期維護(hù)
瀏覽器內(nèi)核? ?window.navigator.userAgent.indexOf()!=-1? ?進(jìn)行判斷
trident? IE
gecko? Firefox
webkit? chrome
presto? opera之前的
基本數(shù)據(jù)類型
string number? boolean? undefined? null
object symbol
?eval? 對應(yīng)的字符串解析成代碼? 并且運(yùn)行
undefined??
變量被聲明了? 但是沒有賦值? ? ? ? ? ? ? ? ? ? ? ? 聲明變量但是沒有賦值? var? a? ? //undefined?
調(diào)用參數(shù)時(shí) 該給的參數(shù)沒有給? ? ? ? ? ? ? ? ? ? ?函數(shù)調(diào)用 參數(shù)沒有給全? ?function? fn(a,b){console.log(b)//undefined}? ? fn(1)
對象沒有賦值的屬性? ? 沒有賦值的屬性? ? ? ? 沒有賦值的屬性 window.a? undefined?
函數(shù)沒有返回值? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 函數(shù)沒有返回值? 默認(rèn)返回undefined
null
作為函數(shù)的參數(shù)? 并且該函數(shù)的參數(shù)不是對象? ? ? ? ? ? ? ? ? ? ?函數(shù)的參數(shù)不是對象
對象原型鏈的終點(diǎn)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 原型鏈的終點(diǎn)
new
a)創(chuàng)建一個(gè)新對象
b)this指向該對象
c)函數(shù)對其進(jìn)行賦值? ?(屬性、方法)
d)返回this
更改this指向? ??call參數(shù)一大堆? apply簡化成了數(shù)組
apply的參數(shù)是 數(shù)組形式? ? apply(this指向涩搓,[])
call(this指向污秆,arg1,arg2...)? ? ? ? ? ? ?
一個(gè)程序至少有一個(gè)進(jìn)程? ?一個(gè)進(jìn)程至少有一個(gè)線程
多線程程序的并發(fā)性要高