摘要:是解釋性語言因服務(wù)端的應(yīng)用,而貫通了前后臺。關(guān)于和聲明的變量和聲明的變量整體,會被提升到當(dāng)前作用域的頂部。做后臺服務(wù)端,處理請求的代碼,得自己實(shí)現(xiàn)了。為提高下載速度,可通過來切換鏡像源。
【ES6】JS是解釋性語言,因node服務(wù)端的應(yīng)用,而貫通了前后臺。
關(guān)于var和let
var:
1.var聲明的變量和function聲明的變量整體,會被提升到當(dāng)前作用域的頂部。 2.無塊級作用域 3.var聲明的變量可重復(fù)賦值,即 var name = "lin" var name = "li" 變量提升后 var name name = "lin" name = "li" 結(jié)果是 name = "li"
let(更嚴(yán)謹(jǐn)):
1.無變量提升 2.有塊級作用域 3.let聲明的變量不可重復(fù)賦值,即 let name = "lin" let name = "li" 報錯: Uncaught SyntaxError: Identifier "name" has already been declared
箭頭函數(shù)
示例:函數(shù)去重
let arr = [1,2,2,3,4]
原始寫法:
arr.filter(function(value, index, arr){ return arr.indexOf(value) == index; });
ES6寫法:
arr.filter((v, i, a)=>{ return a.indexOf(v) == i; });
ES6更簡寫法:
arr.filter((v, i, a)=> a.indexOf(v) == i); //只有單條返回語句時,return可省
解構(gòu)賦值
Promise(解決嵌套太深問題)
模板字符串
var obj = {name:"Lin"} console.log(`my name is ${obj.name}`) //my name is Lin【canvas】
//繪制流程:(聯(lián)系到實(shí)際,就是作畫的全過程,這是本質(zhì)) //1.畫板 let cs = document.querySelector("canvas") //2.畫筆(使用2d畫筆) let pen = cs.getContext("2d") //3.調(diào)色 pen.strokeStyle = "blue" //4.開始 pen.beginPath() //5.繪制(moveTo,lineTo,strokeRect,arc) pen.moveTo(10,10) pen.lineTo(10,10) //6.結(jié)束 pen.stroke()
給canvas背景色,即看到效果
【common.js】http://javascript.ruanyifeng....
Node 應(yīng)用由模塊組成,采用 CommonJS 模塊規(guī)范。【node】
node做后臺服務(wù)端,處理http請求的代碼,得自己實(shí)現(xiàn)了。
實(shí)現(xiàn): 1.由http模塊,生成server來監(jiān)聽指定端口 2.端口連接時,觸發(fā)回調(diào),比對請求地址后,由fs模塊讀寫文件 3.處理結(jié)果響應(yīng)給前端
示例:
http.createServer((req,res)=>{ let pathname = url.parse(req.url).pathname; fs.readFile(path.join(process.cwd(),pathname),(err,data)=>{ res.writeHead(200); res.end(data); }); })【express】
express對http模塊高度封裝 使后臺得以use中間件方式,區(qū)分路由,從而脫離出MVC式的項(xiàng)目結(jié)構(gòu)目錄 解釋下這里提及的mvc: m model 存放mongoose.model()生成的model v view 指定可靜態(tài)訪問的目錄 c controller 存放express.Router()方式處理的中間件,這兒放的是業(yè)務(wù)邏輯 路由會多帶帶提取到一個文件中
示例:
const express = require("express") const app = express() app.use(express.static("./public")) app.listen(3000,err =>{ if(err){ return console.log("3000端口失敗") } console.log("3000端口監(jiān)聽成功") })【補(bǔ)充】
1.關(guān)于下載
npm會隨著node而安裝,但默認(rèn)下載地址在國外。為提高下載速度,可通過nrm來切換鏡像源。
npm i nrm -g nrm ls nrm use taobao
2.關(guān)于運(yùn)行
node index.js //每次修改代碼,都得手動重啟服務(wù)端=>心累 yarn add nodemon -S //代碼修改與服務(wù)器同步了 ps: yarn的并行下載速度更快
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/89160.html
摘要:聲明的變量不得改變值,這意味著,一旦聲明變量,就必須立即初始化,不能留到以后賦值。 雖然今年沒有換工作的打算 但為了跟上時代的腳步 還是忍不住整理了一份最新前端知識點(diǎn) 知識點(diǎn)匯總 1.HTML HTML5新特性,語義化瀏覽器的標(biāo)準(zhǔn)模式和怪異模式xhtml和html的區(qū)別使用data-的好處meta標(biāo)簽canvasHTML廢棄的標(biāo)簽IE6 bug,和一些定位寫法css js放置位置和原因...
摘要:聲明的變量不得改變值,這意味著,一旦聲明變量,就必須立即初始化,不能留到以后賦值。 雖然今年沒有換工作的打算 但為了跟上時代的腳步 還是忍不住整理了一份最新前端知識點(diǎn) 知識點(diǎn)匯總 1.HTML HTML5新特性,語義化瀏覽器的標(biāo)準(zhǔn)模式和怪異模式xhtml和html的區(qū)別使用data-的好處meta標(biāo)簽canvasHTML廢棄的標(biāo)簽IE6 bug,和一些定位寫法css js放置位置和原因...
摘要:聲明的變量不得改變值,這意味著,一旦聲明變量,就必須立即初始化,不能留到以后賦值。 雖然今年沒有換工作的打算 但為了跟上時代的腳步 還是忍不住整理了一份最新前端知識點(diǎn) 知識點(diǎn)匯總 1.HTML HTML5新特性,語義化瀏覽器的標(biāo)準(zhǔn)模式和怪異模式xhtml和html的區(qū)別使用data-的好處meta標(biāo)簽canvasHTML廢棄的標(biāo)簽IE6 bug,和一些定位寫法css js放置位置和原因...
摘要:系列種優(yōu)化頁面加載速度的方法隨筆分類中個最重要的技術(shù)點(diǎn)常用整理網(wǎng)頁性能管理詳解離線緩存簡介系列編寫高性能有趣的原生數(shù)組函數(shù)數(shù)據(jù)訪問性能優(yōu)化方案實(shí)現(xiàn)的大排序算法一怪對象常用方法函數(shù)收集數(shù)組的操作面向?qū)ο蠛驮屠^承中關(guān)鍵詞的優(yōu)雅解釋淺談系列 H5系列 10種優(yōu)化頁面加載速度的方法 隨筆分類 - HTML5 HTML5中40個最重要的技術(shù)點(diǎn) 常用meta整理 網(wǎng)頁性能管理詳解 HTML5 ...
閱讀 1853·2023-04-26 02:14
閱讀 3774·2021-11-23 09:51
閱讀 1420·2021-10-13 09:39
閱讀 4003·2021-09-24 10:36
閱讀 3037·2021-09-22 15:55
閱讀 3542·2019-08-30 12:57
閱讀 2060·2019-08-29 15:30
閱讀 2011·2019-08-29 13:19