跨域 node git


 

promise
異步回調地獄:就是多個異步請求嵌套的表現
瑕疵:后期維護難
解決:通過promise技術
什么是promise:就是一種異步編程的解決方案
有三個狀態:進行中、成功了,失敗了
var p1 = new Promise(function (resolve, reject) { // Promise構造函數 有1個實戰 方法
// 方法有2個形參 底層 也是 方法
//1.異步處理代碼
//2.判斷異步結果
if (操作成功) {
resolve(data) //數據處理完成
} else {
reject(err) //數據處理出錯
}
})
var p2 = new Promise(....)
var p3 = new Promise(....)
...
 
p1
.then(function (data) {
console.log('操作成功,數據:' + data)
return p2; //相當於將p2的代碼拿過來執行,然后繼續調用方法
})
.then(function (data) {
console.log('操作成功,數據:' + data)
return p3; //相當於將p3的代碼拿過來執行,然后繼續調用方法
})
.then(function (data) {
console.log('操作成功,數據:' + data)
return p4; //相當於將p4的代碼拿過來執行,然后繼續調用方法
})
//....
.catch(function(err){
console.log(err)
})
.....
async/await
async function 函數名() {
var data = await Promise 對象
.....
}
異步變同步解決縱向太深
回調函數
回調,回調,就是回頭調用的意思,主函數的事先干完,回頭再調用傳進來的函數
跨域
顧名思義跨域名請求,舉例a網址【異步請求】了b網址
跨域導致原因:瀏覽器同源策略
同源策略規則:只要 協議、域名、端口 有一個不一樣 則稱之為 跨域
同源策略:保證網站數據安全
1-后端聲明header頭 header("Access-Control-Allow-Origin: *")
2-**JSOP原理 2.1-靜態頁面通過script標簽加載接口,
2.2-接口調用函數 實參是要響應的數據,
2.3-靜態頁面聲明函數,接受參數
3-服務器配置(了解)
4-**前段代理
 
jquery
jq 是基於js封裝的一個庫(強調 庫是一個文件,框架是多個文件)
用JS封裝的庫,
將原生JS代碼封裝起來,提供簡單的方法供外部操作。
好處:1-更加方便操作網頁,2-解決兼容性問題
下載:1-jquery.com/download 2-百度jq cdn
版本:1.x(兼容ie) 2.x 3.x 國內還是推薦使用1.x
JQ->JS $()[0]
JS->JQ $(JS標簽對象)
選擇器
CSS選擇器
過濾選擇器 :first :last :eq :odd :even
語法:$(選擇器)
常用方法:prev()/next()/parent()/parents()/find()/sibling()
樣式1:$().css(CSS屬性名,CSS屬性值) $().css(JSON對象)
樣式2:$().add/remove/has/toggleClass(類名)
屬性 :$().attr(屬性名,屬性值) $().attr(JSON對象)
內容:$().html/text/val() 不傳參獲取,傳參設置
節點:第一個子prepend 最后子append 前兄弟before 后兄弟after 刪除remove
$().事件類型(function(){ })
$().on(事件類型,function(){})
委托$(父).on(事件類型, 子, function(){})
 
循環
$.each(數組/對象,function(index, item){});
$(選擇器).each(function(index, item){ });
版本控制軟件
顧名思義就是一個軟件,你每次文件修改它都記錄下來,萬一代碼沖突丟失都可以從記錄里面找回
實現開發項目多人協作開發
為了避免代碼沖突或丟失使用版本控制軟件
版本控制軟件是什么:就是一個軟件
作用:記錄代碼每次修改,萬一沖突或丟失可以找回
種類:git(黑貓)、svn(龜)
1-得先有倉庫 存放項目代碼
2-通過版本控制軟件 管理倉庫代碼
github
就是一個網站
作用:創建倉庫,存放項目代碼
好處:1-防丟失,防誤刪 2-便於多人協作開發
git解決沖突
拉取dev最新代碼合並到自己分支解決完沖突提交
日志回滾
1-多人修改代碼沖突 解決:通過git pull 然后提交
2-代碼丟失(1別人誤刪,2版本回滾)
解決:查看提交日志,然后回滾
分支管理
查看分支:git branch
創建分支:git branch 分支名
刪除分支:git branch -d 分支名
切換分支:git checkout 分支名
合並分支:git merge 分支名 (注:將其他分支代碼合並到當前分支)
 
npm
就是用來下載node第三方模塊的命令行工具
去哪下:不用下,node裝好了自帶的 直接用
驗證:DOS窗口敲npm -v
下載模塊:npm i/install 模塊名或模塊名@版本號 默認--save/--save-dev -g
卸載模塊:npm uninstall 模塊名
思考:--save和--save-dev有什么區
相同點:1-都是下載第三方模塊,2-都會在package.json中記錄
不同點:記錄的位置不同
-g
在全局目錄 npm config list去看
作用:只能在dos窗口敲命令,切記切記切記加-g項目中不能require
gulp
因為需要壓縮項目中的js、css等靜態資源,從而減輕服務器壓力,加快訪問速度
是前段自動化構建/壓縮工具
從而減輕服務器壓力,加快訪問速度
 
前端代理
解決跨越
代理請求http-proxy-middlewar
css預處理
Sass(SCSS)* vue庫/框架
LESS* react庫/框架
Sass
導入 @import '路徑及文件名';
變量 $變量名: CSS屬性值;
嵌套:咋大括號中寫選擇器即可 會自動加父前綴
混入:@mixin 名稱($變量:默認值) {} @include 名稱
繼承:%名稱 {} @extend %名稱 jq extend({}) es6 extends 子覆蓋父普通方法 子構造函數super
函數:@function 函數名() { @return } 調用 CSS屬性名: 函數名()
 
其次SASS和LESS區別:1-聲明變量分別為$和@,2-實現方式
Less是基於JavaScript,是在客戶端處理的。Sass是基於Ruby的,是在服務器端處理的。
 
模塊
將一個復雜的程序,依據一定的規則/規范封裝成幾個塊/文件,內部具體實現是隱藏的只保留部分接口/方法給外部使用
可以解決命名沖突;更好的分離,按需要的加載;提高代碼可維護性、可擴展性;
 
閉包
什么是閉包:兩個函數彼此嵌套,返回內部函數
特點:1-局部變量常駐內存,2-函數體外可以使用
 
設計模式
設計模式:前輩的開發經驗總結的開發思想
思想好處:1-便於維護,2-增強代碼重用性,減少代碼冗余等
 
 
 
 
 
 
 
 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM