跨域
jsonp
jsonp的原理就是動(dòng)態(tài)滴創(chuàng)建script標(biāo)簽娜氏,將script標(biāo)簽的src的url中傳入要發(fā)給其他域服務(wù)器的數(shù)據(jù)嫁艇,和接收服務(wù)器返回?cái)?shù)據(jù)的函數(shù)名字
iframe 缺點(diǎn)不利于seo
基于iframe實(shí)現(xiàn)的跨域要求兩個(gè)域具有aa.xx.com,bb.xx.com這種特點(diǎn),也就是兩個(gè)頁面必須屬于一個(gè)基礎(chǔ)域
ES6中fetch
fetch語法糖
fetch('/test/content.json', { // url: fetch事實(shí)標(biāo)準(zhǔn)中可以通過Request相關(guān)api進(jìn)行設(shè)置
method: 'POST',
mode: 'same-origin', // same-origin|no-cors(默認(rèn))|cors
credentials: 'include', // omit(默認(rèn)殃恒,不帶cookie)|same-origin(同源帶cookie)|include(總是帶cookie)
headers: { // headers: fetch事實(shí)標(biāo)準(zhǔn)中可以通過Header相關(guān)api進(jìn)行設(shè)置
'Content-Type': 'application/x-www-form-urlencoded' // default: 'application/json'
},
body: 'a=1&b=2' // body: fetch事實(shí)標(biāo)準(zhǔn)中可以通過Body相關(guān)api進(jìn)行設(shè)置
}).then(function(res){ res: fetch事實(shí)標(biāo)準(zhǔn)中可以通過Response相關(guān)api進(jìn)行設(shè)置
return res.json();
}).then(function(data){
console.log(data);
}).catch(function(error){
});
字符串截取
- substring()
- 功能:字符串截取,比如想從"MinidxSearchEngine”中得到"Minidx”就要用到substring(0,6)
- 語法
- stringObject.substring(start,stop)
- substring 方法返回的子串包括 start 處的字符,但不包括 end 處的字符掰读。
- 如果 start 與 end 相等秘狞,那么該方法返回的就是一個(gè)空串(即長度為 0 的字符串)。
- 如果 start 比 end 大蹈集,那么該方法在提取子串之前會(huì)先交換這兩個(gè)參數(shù)烁试。
- 如果 start 或 end 為負(fù)數(shù),那么它將被替換為 0拢肆。
- substr 方法
- stringObject.substr(start [, length ])
- 參數(shù) 描述
- start 必需减响。所需的子字符串的起始位置。字符串中的第一個(gè)字符的索引為 0郭怪。
- length 可選支示。在返回的子字符串中應(yīng)包括的字符個(gè)數(shù)。
angular雙向綁定
- angular并不存在定時(shí)臟檢測鄙才。
- angular對(duì)常用的dom事件颂鸿,xhr事件等做了封裝, 在里面觸發(fā)進(jìn)入angular的digest流程咒循。
- 在digest流程里面据途, 會(huì)從rootscope開始遍歷, 檢查所有的watcher叙甸。
- 談起angular的臟檢查機(jī)制(dirty-checking), 常見的誤解就是認(rèn)為: ng是定時(shí)輪詢?nèi)z查model是否變更颖医。
- 其實(shí),ng只有在指定事件觸發(fā)后裆蒸,才進(jìn)入$digest cycle:DOM事件熔萧,
- 譬如用戶輸入文本,點(diǎn)擊按鈕等僚祷。(ng-click)
- XHR響應(yīng)事件 ($http)
- 瀏覽器Location變更事件($location)
- Timer事件($timeout, $interval)
- 執(zhí)行$digest()或$apply()
angular與vue的區(qū)別
- angular用的是臟檢查佛致,為每一個(gè)數(shù)據(jù)設(shè)置watch,數(shù)據(jù)改動(dòng)就更新辙谜。
- vue用的是雙重綁定
- CMD VS AMD
- CMD與AMD都是為了javascript 組件化開發(fā) AMD是requireJS CMD是Seajs
- AMD是提前執(zhí)行 不過requireJS從2.0開始也成為了延遲執(zhí)行 CMD是延遲執(zhí)行
display的全部屬性
- inline inline-block block none flex table-sell table
img為行內(nèi)替換元素 所以可以設(shè)置寬高
input框disabled之后如何獲取value值
- 在做網(wǎng)站管理后臺(tái)的用戶修改功能時(shí)俺榆,由于當(dāng)前用戶修改個(gè)人信息時(shí)規(guī)定用戶名不能修改,故使用了input標(biāo)簽的disabled屬性装哆,但是在提交數(shù)據(jù)后卻發(fā)現(xiàn)用戶名顯示為空了罐脊。后來一查才知道input設(shè)置為disabled值時(shí)會(huì)有下面的限制:
- 1、不能接收焦點(diǎn)蜕琴;
- 2萍桌、使用tab鍵時(shí)將被跳過;
- 3凌简、可能不是successful的上炎。
- 解決方法是:可以使用readonly=”readonly”屬性代替即可,而input設(shè)置為readonly屬性也有一些限制:
- 1雏搂、可以接收焦點(diǎn)藕施,但不能被修改寇损;
- 2、可以使用tab鍵進(jìn)行導(dǎo)航铅碍;
- 3润绵、可能是successful的。
找Bug 用過firebug或者開發(fā)人員工具F12
如何解決移動(dòng)端頁面抖動(dòng)
-webkit-backface-visibility: hidden 頁面抖動(dòng)
Less 特點(diǎn)
- 變量
- 混合
- 嵌套規(guī)則
- 運(yùn)算
- 函數(shù)
- 作用域
- 命名空間
- 注釋
- 導(dǎo)入 import
Less原理
- CSS預(yù)解析
- 為css樣式生成工具
gulp作用
- Sass胞谈、Less編譯
- CSS JS 圖片壓縮
- CSS JS合并
- CSS JS 內(nèi)聯(lián)
- 自動(dòng)刷新
- 雪碧圖
- ESLint