一.Node js
Nodejs就是運行在服務端的javaScript,node js就是運行環境
在windows只需要雙擊安裝包裝完以后打開命令行 執行:

測試,安裝成功
入門練習
demo1.js
var a=1; var b=2; console.log(a+b);
![]()
demo2.js
/*定義函數實現兩個函數相加
* */
function add1(a,b) {
return a+b;
}
var add2=function (a,b) {
return a+b;
}
var ret=add2(123,321);
console.log(ret);

demo3_1.js
/*
* 定義一個函數,提供給其他js調用
* ES5導出:
* 語法:
* exports.函數名=function(){}
* **/
exports.add=function (a,b) {
return a+b;
}
demo3_2.js
/*
* 調用其他的函數
* ES5
* var instance = require('js的相對路徑')
* **/
var instance=require('./demo3_1');
var add=instance.add(111,555);
console.log(add);

這就是分模塊化編程的小實現
demo4.js
/*
* 基於nodejs創建web服務器--使用nodejs提供的模塊
* */
var http=require('http');
http.createServer(function(request,response){
//request 請求對象
//response 響應對象 一定要結束響應
//1.向客戶端瀏覽器輸出打印內容 參數一:狀態碼 參數二:響應的數據內容
response.writeHead(200,{"content-type":"text/html;charset=utf-8"});
response.write("hello nodejs!");
response.end();
}).listen(8888);

二.ES6
demo1
/*
*定義變量 ES5 var ES6 let
* */
var getName=function (flag) {
if(flag){
var name="jack";
}
console.log(name);
}
getName(true);

/*
*定義變量 ES5 var 全局變量 ES6 let 局部變量
* */
var getName=function (flag) {
if(flag){
let name="jack"; /*var換成let*/
console.log(name);
}
};
getName(true)

demo2
/*const * 定義常量 * */ const name ="jack"; //name="rose";報錯,因為是常量,不能被改變 console.log(name);
demo3
/*模板字符串*/
//`` 1.字符串拼接 2.所見即所得
let user={name:"jack"};
let content=`你好,${user.name}
a b
c d`;
console.log(content);
demo4
/*對象解構*/
let user={name:"jack",age:"16",address:"北京"};
//將對象中的屬性賦值給變量
const {name,...obj}=user
console.log(name);
console.log(obj);

demo5
/*
* 箭頭函數:簡化函數編寫 ()=>{}
*function(data){} (data)=>{}
* */
function add1(a, b) {
return a+b;
}
var add2=function(a,b){
return a+b;
};
//ES6 簡化省略function關鍵字
var add3=(a,b)=>{
return a+b;
};
//當函數邏輯只有一行代碼 只有一個返回值 方法體return省略
var add4=(a,b)=>a+b;
console.log(add4(1,2));

