當(dāng)前位置:
首頁(yè) >
前端技术
> javascript
>内容正文
javascript
JavaScript进阶4-学习笔记
生活随笔
收集整理的這篇文章主要介紹了
JavaScript进阶4-学习笔记
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
文章目錄
- JavaScript進(jìn)階4-學(xué)習(xí)筆記
- 遞歸
JavaScript進(jìn)階4-學(xué)習(xí)筆記
前端: 根據(jù)Ui寫(xiě)頁(yè)面,使用vuecli+vue---測(cè)試功能---需要數(shù)據(jù)(json,array,字符串)----根據(jù)文檔定義---- 根據(jù)文檔可以造數(shù)據(jù)---因?yàn)楹蠖丝赡軟](méi)有提供---如何造數(shù)據(jù)?----模擬服務(wù)node---- 什么是nodejs?-----是一個(gè)運(yùn)行js的環(huán)境---如何安裝node環(huán)境---下載nodejs并安裝 我是前端為什么要學(xué)后端Node?----1.容易上手,因?yàn)樗莏s, 2.模擬服務(wù)node 3.加薪 ---已經(jīng)有接口如何調(diào)用?---發(fā)送ajax----調(diào)接口地址----若調(diào)成功---拿到返回的數(shù)據(jù)---渲染頁(yè)面如何啟動(dòng)node服務(wù)?----右擊打開(kāi)命令行----安裝依賴(lài)npm install-----根據(jù)package.json中的依賴(lài)安裝---- 將dependencies依賴(lài)包下載并放到node_modules目錄----啟動(dòng)服務(wù)命令:node express-run.js(express是node框架)----可以看到服務(wù)啟動(dòng),端口3000.---不能關(guān)閉服務(wù) 關(guān)閉node服務(wù)----ctrl+c如何發(fā)送請(qǐng)求?----使用的是瀏覽器原生對(duì)象XMLHttpRequest(xhr)---知道接口地址---根據(jù)文檔找--- -----接口調(diào)用方式-----get post delete put----使用xmlhttprequest請(qǐng)求數(shù)據(jù)----指定接口地址和方法--- 發(fā)送請(qǐng)求異步----拿到數(shù)據(jù)---檢查數(shù)據(jù)是否拿到---把數(shù)據(jù)渲染---數(shù)據(jù)格式不符合前端----異步請(qǐng)求?-----點(diǎn)外賣(mài)----玩手機(jī)----外賣(mài)到了電話通知 同步請(qǐng)求?-----點(diǎn)外賣(mài)----只能等待外賣(mài),不能做任何事----外賣(mài)到了---才能做其它事情如何檢查請(qǐng)求接口狀態(tài)?-----在瀏覽器控制臺(tái)----network---截取請(qǐng)求header信息防止多次觸發(fā)請(qǐng)求?----前端必會(huì)---- 1.點(diǎn)擊按鈕---發(fā)送請(qǐng)求---禁用按鈕---請(qǐng)求完畢---解禁按鈕 2.可以使用防抖節(jié)流優(yōu)化 防抖-----在點(diǎn)擊請(qǐng)求后n秒后再發(fā)送,若中間再次點(diǎn)擊則重新計(jì)算n秒 節(jié)流-----在n秒內(nèi)只發(fā)送一次,不重新計(jì)算發(fā)送ajax使用什么協(xié)議?-----http/https(超文本傳輸協(xié)議)-----前后請(qǐng)求完畢不保存任何數(shù)據(jù) 特點(diǎn): 無(wú)連接----每次發(fā)送請(qǐng)求即斷開(kāi)連接 無(wú)狀態(tài)----沒(méi)有記憶 媒體獨(dú)立----瀏覽器發(fā)送數(shù)據(jù)可指定內(nèi)容類(lèi)型請(qǐng)求頭: general請(qǐng)求行----地址,方法,請(qǐng)求狀態(tài) responseHeader響應(yīng)頭----返回服務(wù)端的參數(shù) requestHeader請(qǐng)求頭----發(fā)送請(qǐng)求時(shí)帶的頭信息 請(qǐng)求體-----包括參數(shù)問(wèn)題: 從觸發(fā)請(qǐng)求到頁(yè)面渲染成功這個(gè)時(shí)間比較長(zhǎng),怎么判斷是前端的鍋還是后臺(tái)的鍋,或者是網(wǎng)絡(luò)的鍋。。。 在network中查看請(qǐng)求接口的時(shí)間, 若時(shí)間較長(zhǎng),需后端優(yōu)化前端的問(wèn)題慢: 加載慢,渲染慢后端: 根據(jù)接口文檔寫(xiě)接口, 可以任何語(yǔ)言 <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title> </head> <body><button onclick="sendData()">發(fā)送ajax</button><div id="content"></div><script>function sendData(){var xmlhttp = new XMLHttpRequest();//open---指定一個(gè)接口(url, method)xmlhttp.open("get", "http://localhost:3000/info?name=jack"); //異步xmlhttp.send(); //發(fā)送xmlhttp.onreadystatechange = function() { //接收數(shù)據(jù)//4--node服務(wù)響應(yīng)完成 200---成功if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {console.log(xmlhttp.responseText) //打印//把拿到的數(shù)據(jù)展示出來(lái) 寫(xiě)入domcontent.innerHTML = xmlhttp.responseText; //conten 簡(jiǎn)寫(xiě)}}}</script> </body> </html>遞歸
//什么是遞歸?-----方法自己調(diào)用自己----很容易犯錯(cuò)誤?-----沒(méi)有終止條件 //目錄結(jié)構(gòu)----修改所有目錄名----遞歸//死循環(huán) function f1(){console.log("f1.......")f1(); } f1(); //改進(jìn)----加入終止條件 var i=0; function f1(){i++;console.log("f1.......")if (i<5) {f1();} } f1();//用遞歸實(shí)現(xiàn)一個(gè)簡(jiǎn)單求和函數(shù), 5-4-3-2-1 有限 var sum = 0; for (var i=0; i<=5; i++) {sum +=i; } console.log(sum)//遞歸---方法自己調(diào)用自己---需定義函數(shù)----很重要思想 //return終止函數(shù)---把結(jié)果返回 //為什么要返回1? ------5-4-3-2-1-----因?yàn)樽约赫{(diào)自己最后一次n==1 //執(zhí)行步驟: // 1.傳入5----if不成立---5+---getSum(5-1)自己調(diào)自己 // 2.傳入4----if不成立---4+---getSum(4-1)自己調(diào)自己 // 3.傳入3----if不成立---3+---getSum(3-1)自己調(diào)自己 // 4.傳入2----if不成立---2+---getSum(2-1)自己調(diào)自己 // 5.傳入1----if成立---返回1---終止 function getSum(n) {if (n === 1) { //終止條件return 1; //終止調(diào)用}return n+getSum(n-1); //自己調(diào)自己 } var sum = getSum(5); console.log(sum)總結(jié)
以上是生活随笔為你收集整理的JavaScript进阶4-学习笔记的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: JavaScript进阶3-学习笔记
- 下一篇: JavaScript进阶5-学习笔记