- typeof出來(lái)的類(lèi)型
- number, string, boolean, object, function, undefined
- 隱式類(lèi)型轉(zhuǎn)換的情形
- 加減乘除號(hào),+ - * /
- +號(hào)用作數(shù)字相加時(shí)渊抄,累加數(shù)字钧惧,1 + true = 2
- +號(hào)用作字符串連接時(shí),把其他非字符串轉(zhuǎn)為字符串
- null會(huì)轉(zhuǎn)換為0掉蔬,undefined轉(zhuǎn)換為NaN
- NaN不等于NaN廊宪,這是由浮點(diǎn)數(shù)的精度決定的
- isNaN
- isNaN()判斷NaN不可靠矾瘾,因?yàn)闀?huì)存在隱式轉(zhuǎn)換
- isNaN('foo' || undefined || {} || {age: 'foo'}) // 都為true
- 使用 x !== x 來(lái)判斷是否為NaN
- 或者使用ES6的Number.isNaN(要檢驗(yàn)的值)
- isNaN()判斷NaN不可靠矾瘾,因?yàn)闀?huì)存在隱式轉(zhuǎn)換
- 真值運(yùn)算,if && ||
- false, 0, -0, “”, NaN, null, undefined箭启,會(huì)轉(zhuǎn)換為false
- 有一個(gè)可以具有默認(rèn)值得可選參數(shù)的函數(shù)會(huì)讓真值判斷失效
- function point(x, y) { if (!x) { x = 320; } if (!y) { y = 240; } return { x: x, y: y }; }
- 檢測(cè)undefined的更加準(zhǔn)確的方法是用typeof操作壕翩,可以區(qū)分開(kāi)0和undefined
- function point(x, y) { if (typeof x === "undefined") { x = 320; } if (typeof y === "undefined") { y = 240; } return { x: x, y: y }; }
- 或者 if (x === undefined) { ... },利用參數(shù)與undefined作比較
- 加減乘除號(hào),+ - * /
- call, apply, bind
- call的第一個(gè)參數(shù)是要綁定this的對(duì)象傅寡,第二個(gè)參數(shù)開(kāi)始是原有函數(shù)中的參數(shù)
- apply第一個(gè)參數(shù)同call放妈,后面的參數(shù)傳數(shù)組
- bind是在函數(shù)本身后面加要bind的對(duì)象,并且要使用表達(dá)式函數(shù)荐操,而不是聲明式函數(shù)
- 作用域
- 作用域鏈:當(dāng)前作用域找不到芜抒,就去父級(jí)找
- 函數(shù)作用域是定義時(shí)候產(chǎn)生的,不是執(zhí)行時(shí)候產(chǎn)生的
- 閉包
- 函數(shù)作為返回值
- 函數(shù)作為參數(shù)傳遞
- 產(chǎn)生作用域鏈
- 前端使用異步的場(chǎng)景
- 定時(shí)任務(wù)
- 網(wǎng)絡(luò)請(qǐng)求
- 事件綁定
- 跨域
- 瀏覽器有同源策略托启,不允許ajax訪問(wèn)其他域的接口
- 協(xié)議宅倒、域名、端口屯耸,有一個(gè)不同就算跨域
- 可跨域的三個(gè)標(biāo)簽
- img的src
- link 拐迁、script 使用CDN
- script用于JSONP
- JSONP
- 服務(wù)器端設(shè)置http header
- 瀏覽器有同源策略托启,不允許ajax訪問(wèn)其他域的接口
- cookie, sessionStorage, localStorage的區(qū)別
- cookie
- 用于客戶端和服務(wù)器端通訊
- 存儲(chǔ)量只有4KB
- 所有http請(qǐng)求都帶著,會(huì)影響獲取資源的效率
- API簡(jiǎn)單疗绣,需要封裝才能使用 document.cookie
- sessionStorage线召,localStorage
- 最大5M
- 不用在請(qǐng)求中帶著
- setItem(key, value), geiItem(key)
- iOS safari隱藏模式下,localStorage.getItem會(huì)報(bào)錯(cuò)持痰,灶搜,簡(jiǎn)易使用try catch封裝
- 區(qū)別
- 容量
- 是否攜帶到ajax中
- API易用性
- cookie
- 模塊化
- 需要異步加載JS,使用AMD
- 使用npm之后建議使用CommonJS
- 渲染頁(yè)面的過(guò)程
- 加載資源的形式
- 輸入U(xiǎn)RL或跳轉(zhuǎn)頁(yè)面加載html
- 加載html中的靜態(tài)資源
- 輸入U(xiǎn)RL到得到html的過(guò)程(加載一個(gè)資源的過(guò)程)
- 瀏覽器根據(jù)DNS服務(wù)器得到域名的IP地址
- 向這個(gè)IP的機(jī)器發(fā)送http請(qǐng)求
- 服務(wù)器收到工窍、處理并返回http請(qǐng)求
- 瀏覽器得到返回內(nèi)容
- 瀏覽器渲染頁(yè)面的過(guò)程
- 根據(jù)html結(jié)構(gòu)生成DOM Tree
- 根據(jù)CSS生成樣式(CSSOM)
- 將DOM和CSSOM整合成RenderTree
- 根據(jù)RenderTree開(kāi)始渲染和展示
- 遇到script標(biāo)簽時(shí)割卖,會(huì)執(zhí)行并阻塞渲染
- 加載資源的形式
- window.onload和document.DOMContentLoaded
- 前者是全部資源加載完才執(zhí)行,包括圖片視頻
- 后者是DOM渲染完即可執(zhí)行患雏,無(wú)需照顧圖片視頻
- 性能優(yōu)化
- 原則
- 多使用內(nèi)存鹏溯、緩存或其他方法
- 減少CPU計(jì)算,減少網(wǎng)絡(luò)請(qǐng)求
- 從哪入手
- 加載頁(yè)面和靜態(tài)資源速度
- 靜態(tài)資源的壓縮合并淹仑,把加載或請(qǐng)求數(shù)量減少
- 靜態(tài)資源緩存
- 使用CDN讓資源加載更快
- CDN是不同區(qū)域的網(wǎng)絡(luò)優(yōu)化丙挽,就近加載
- 使用SSR(后端渲染),數(shù)據(jù)直接輸出到html中
- 加載頁(yè)面和靜態(tài)資源速度
- 頁(yè)面渲染速度
- CSS放在前匀借,JS放在后
- 懶加載
- 減少DOM查詢颜阐,對(duì)DOM查詢做緩存
- 減少DOM操作,多個(gè)操作盡量合并在一起執(zhí)行
- 事件節(jié)流
- 盡早執(zhí)行操作吓肋,如DOMContentLoaded
- 原則
- 安全性
- XSS凳怨,跨站請(qǐng)求攻擊
- XSRF,跨站請(qǐng)求偽造
一些前端基礎(chǔ)問(wèn)題
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
- 文/潘曉璐 我一進(jìn)店門(mén)惠猿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)闹啦,“玉大人狸臣,你說(shuō)我怎么就攤上這事蹋砚。” “怎么了化焕?”我有些...
- 文/不壞的土叔 我叫張陵萄窜,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我撒桨,道長(zhǎng)查刻,這世上最難降的妖魔是什么? 我笑而不...
- 正文 為了忘掉前任凤类,我火速辦了婚禮穗泵,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘谜疤。我一直安慰自己佃延,他們只是感情好,可當(dāng)我...
- 文/花漫 我一把揭開(kāi)白布夷磕。 她就那樣靜靜地躺著履肃,像睡著了一般。 火紅的嫁衣襯著肌膚如雪坐桩。 梳的紋絲不亂的頭發(fā)上尺棋,一...
- 那天,我揣著相機(jī)與錄音绵跷,去河邊找鬼膘螟。 笑死,一個(gè)胖子當(dāng)著我的面吹牛碾局,可吹牛的內(nèi)容都是我干的荆残。 我是一名探鬼主播,決...
- 文/蒼蘭香墨 我猛地睜開(kāi)眼净当,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼内斯!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
- 序言:老撾萬(wàn)榮一對(duì)情侶失蹤嘿期,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后埋合,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體备徐,經(jīng)...
- 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
- 正文 我和宋清朗相戀三年甚颂,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了蜜猾。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
- 正文 年R本政府宣布,位于F島的核電站辫呻,受9級(jí)特大地震影響清钥,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜放闺,卻給世界環(huán)境...
- 文/蒙蒙 一祟昭、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧怖侦,春花似錦篡悟、人聲如沸。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至旗吁,卻和暖如春踩萎,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背很钓。 一陣腳步聲響...
- 正文 我出身青樓企孩,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親袁稽。 傳聞我的和親對(duì)象是個(gè)殘疾皇子勿璃,可洞房花燭夜當(dāng)晚...