1. 程式人生 > 其它 >大前端技術

大前端技術

技術標籤:javascriptvue.jsnode.js

1、node.js

介紹:
Node是一個讓 JavaScript 執行在服務端點的開發平臺,基於Chrome V8引擎,執行速度非常快,效能非常好。

同Java作對比:
Node.js相當於JDK。
Chrome V8引擎相當於JVM。

注:JVM的作用是把.class位元組碼檔案解釋給作業系統;Chrome V8引擎的作用是把.js檔案解釋給作業系統。

Node.js內建許多模組(詳情查詢API)相當於Java內建的各種包。

2、ES6語法

1)let和const

a.定義:
傳統的方式定義變數和常量都使用var。
ES6定義的方式則為,定義變數使用let,定義常量使用const。

b、let-const和var的區別
let和const解決

 //1、var的變數穿透問題
            for(var i = 0; i < 5; i++){
                console.log(i);
            }
            console.log(i);//此時i為5 , 發生了變數穿透
//如果我們改成let定義
        for(let i = 0; i < 5; i++){
                console.log(i);
            }
            console.log(i)
;//此時會報錯,阻止了變數穿透的情況
//2、常量修改問題
            //用var定義常量
            var PERSON = '程式設計師'
            PERSON = '程式碼'
            console.log(PERSON); //此時的輸出結果為:程式碼,常量PERSON發生了修改
//用const定義
            const PERSON = '程式設計師'
            PERSON = '程式碼'
            console.log(PERSON); //此時報錯,提示常量不可修改

c、模板字串

let person =
{ name: '劉立偉', age: '5歲', address: '河北' } //有的時候,字串會牽扯到動態部分 //傳統方式用字串拼接 let address = '傳統:我叫'+person.name+'我今年'+person.age+'我家住在'+person.address console.log(address); //ES6使用 ` let address2 = `ES6:我叫${person.name}我今年${person.age}我家住在${person.address}` console.log(address2);

d、箭頭函式

  //箭頭函式 - 重點 (在未來的專案開發中:比如小程式,unipp,一些常見的腳手架大量使用)
           var sum = function(a,b){
                return a+b
           }

           //箭頭函式 - 改進1
           var sum = (a,b) => {
               return a+b
           }

           //箭頭函式 - 改進2
           var sum = (a,b) => a+b

           //通過上面的例子總結規律
           //1、去掉function
           //2、在括號後面加箭頭
           //3、如果邏輯程式碼僅有return可以直接省去(如果有邏輯體,就不能省略)

           var arr = [1,2,3,4,5]
           var newarr = arr.map(function(item){
               return item * 2
           })
           console.log('newarr:', newarr);

           var newarr2 = arr.map((item) => {
               return item * 2
           })
           console.log('newarr2:', newarr2);

           var newarr3 = arr.map((item) => item * 2)
           console.log('newarr3:', newarr3);

e、物件解構

  const ADDRESS = '中國河北省'
            let person = {
                name: '小紅',
                address: ADDRESS,
                say(){
                    console.log('你好');
                }
            }

            //通過.的方式
            console.log(person.name);
            console.log(person.address);
            console.log(person.say);

            //通過[]的方式
            console.log(person['name']);
            console.log(person['address']);
            console.log(person['say']);

            //ES6
            let {name,address} = person
            console.log(name);
            console.log(address);

f、物件傳播操作符

 //物件傳播操作符 ...
            let person = {
                name: "小明",
                age: 5,
                phone: "1234567890",
                address: "河北石家莊",
                go(){
                    console.log("小明走來了");
                }
            }

            //解構出來
            let {name,age, ...person2} = person
            console.log(name);
            console.log(age);
            console.log(person2);

g、map

//要對陣列的每個元素*2
            let arr = [1,2,3,4,5]

            //傳統的方式
            let newarr = []
            for(let i = 0; i<arr.length; i++){
                newarr.push(arr[i] * 2)
            }
            console.log(newarr);
            console.log("==============");

            //map --- 自動迴圈 並會把處理的值回填到對應的位置
            let newarr2 = arr.map((el) => el * 2)
            console.log(newarr2);

            //map 處理物件的資料
            let users = [
                {name: "小明", age: 5 ,address:"北京"},
                {name: "小紅", age: 7 ,address:"天津"},
                {name: "小剛", age: 10 ,address:"上海"},
            ]

            let newusers = users.map((ele) => {
                ele.age = ele.age + 1
                return ele
            })
            console.log(newusers);

2、npm

1、快速構建nodejs工程

  • npm init
    ——得到package.json這個檔案裡的內容如下
{
"name": "helloVue", //工程名
"version": "1.0.1", //版本
"description": "我是一個node工程", //描述
"main:" "index.js", //入口js
"scripts": { //執行指令碼
	"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "llw", //開發者
"license": "ISC" //授權協議
}
//類似於:pom.xml 檔案作用管理依賴。

2:、快速安裝和依賴第三個模組,比如npm install mysql redis 等。