1 箭头函数
箭头函数 是 函数的一种简写形式,使用括号来包裹参数,跟随一个 => ,紧接着是函数体。
var add = function(x,y){ return x + y } var add = (x,y) => x + y var add = (x,y) => { return x + y } console.log(add(4,7))
2 对象和数组结构
arr = ["jink",23,"shanxi"] let [name,age,add] = arr console.log(name,age,add)
ob = {x:4,y:5,z:6}
let {x:x,y:y,z:z} = ob
console.log(x,y,z) //输出4 , 5 , 6
3 字符串中渲染变量
var name = "jinkang" var cen = `welcome ${name}` (反分号,TAB 上面那个) console.log(cen) //输出 welcome jinkang
4 使用 for of 和 for in 遍历一个迭代器
for (let per of stus){ console.log(per) //zs ls ww } for (let per in stus){ console.log(per) //0 1 2 console.log(stus[per]) //zs ls ww }
5 Promise
let promise = new Promise(function(resolve,reject){ console.log("promise up"); resolve() }) promise.then(function(){ console.log("resolveed"); }) console.log("hi");
输出: promise up
hi
resolveed
上面代码中,Promise 新建后立即执行,所以首先输出的是Promise up。然后,then方法指定的回调函数,将在当前脚本所有同步任务执行完才会执行,所以resolved最后输出。
var request = require("request") const options = { url: "http://mail.zhonghuass.cn/hello", method: "POST", headers:{ "content-type": "text/html;charset=utf-8", } } var pro = new Promise(function(resolve,reject){ request(options,(err,res,body) => { if(err){ reject("wrong") } resolve(body) }) }) pro.then(function(value){ console.log('OK'); console.log(value) },function(error){ console.log(error); })
then 方法 的 作用是为 Promise 实例添加状态改变时间时的回调函数。then 方法的第一个参数是 resolved 状态的回调函数,第二个参数(可选)是 reject 状态的回调函数。
6 Generator
function* f() { yield 5; yield 23; yield 211; yield 12; } var a = f() console.log(a.next()) console.log(a.next()) console.log(a.next()) 输出
{value:5,done:false}
{value:23,done:false}
{value:211,done:false}
for...of循环可以自动遍历 Generator 函数时生成的Iterator对象,且此时不再需要调用next方法 for (let a of f()){ console.log(a) } 输出//5 23 211 12