1.javaScript 中const、var、let区别

const 定义的变量不可修改 而且必须初始化 =>解决闭包变量污染问题

var 定义的变量可以修改 如果不初始化则默认值为undefined

let 是块级作用域 函数内部使用let定义后 对函数外部不影响

2.浅拷贝 object.assign(target,source)

等用于对象扩展运算符var target =(...source)

例如:

var source = {age:20,gender:"男"};

var target = object.assign(b,a);

3.Promise基础

<script>

function fn(){

return new Promise((resolve,reject)=>{

setTimeout(()=>{

console.log("你好");

//如何告诉外界已经执行完了

resolve();

},1000);

});

}

fn().then(res=>{

console.log("下一步");

fn().then(res=>{

console.log("完成");

});

});

</script>

4.Promise 解决(回调地狱)的问题

fn1().then(res=>{

return fn2();//返回一个promise对象

}).then(res=>{

  rerurn fn1();

}).then(res=>{

  rerurn fn2();

})

5.Promise传参

var promise = new Promise((resolve,reject)=>{

//把需要执行的异步操作放在这里

//b、

$.get("/getUser"),res={

//res是从服务器中接收到的数据

//把数据传到下一步操作中

//告诉外界本次的异步操作已经执行完毕了

}

//c、

resolve(res);

});

//a、

promise.then(res=>{

//d、

console.log(res);

});

6.promise错误处理

function getBooks(){

return Promise((resolve,reject)=>{//reject 承载异步操作请求失败

//执行异步操作

$.ajax({

url:"/getBooks",

type:"GET",

success(res){//res为成功获取数据

resolve(res);

},

error(resError){//resError此时为错误信息

//

resolve(resError);

}

})

});

}

//第一种执行方式

// getBooks().then(res=>{

// //res为请求成功获取到的数据

// },resError={

// //返回错误信息

// console.log(resError);

// });

//第二种执行方式  推荐使用该执行方式

getBooks().then(res=>{

//成功了

}).catch(resError=>{

//这里也可以获取到错误信息

})

7.async 是基于promise封装出来的

function f1(){

return new Promise(resolve=>{

setTimeout(()=>{

console.log('你好');

resolve();

},1000);

})

}

(async function(){

await f1();//此时为异步函数

console.log("第二步");

await f1();

await f1();

await f1();

console.log("第三步");

})()

8.async错误处理

function q(){

return new Promise((resolve,reject)=>{

setTimeout(()=>{

reject("你好");

},100)

})

}

(async function(){

try{//只能使用try{}catch(){} 老语法

let res = await q();

console.log(res);

}catch(e){

console.log(e);

}

})()

9.类class

class Student{

//构造方法

constructor(name,age){

this.name=name;

this.age=age;

}

}

var p1 = new Student();

10.如何判断一个变量能否被访问?

//-->知识点:词法作用域
//1、首先查看当前作用域
//2、查看当前作用域的上级
//3、。。。。。。。。一直找到全局作用域

//浏览器如果没有处于调试状态,那么当前作用域就是全局作用域

//如果浏览器处于调试状态,那么当前作用域就看断点的位置

// function f1(){
// console.log(age);
// var age=18;
// console.log(age);
// }

// var length=100;

// f1();



EMSAscript的更多相关文章

随机推荐

  1. Linux的vim和vi编辑器

    vim和vi的基本介绍 所有的Linux 系统都会内建vi 文本编辑器. Vim 具有程序编辑的能力,可以看做是Vi的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计. 代码补完.编译及错 ...

  2. Git密钥

    SSH keys SSH key 可以让你在你的电脑和Code服务器之间建立安全的加密连接. 先执行以下语句来判断是否已经存在本地公钥: 1. cat ~/.ssh/id_rsa.pub    如果你 ...

  3. paraview isosurface

    参考:https://www.youtube.com/watch?v=UjoSvWdxlTA

  4. Angular material mat-icon 资源参考_Device

    ul,li>ol { margin-bottom: 0 } dt { font-weight: 700 } dd { margin: 0 1.5em 1.5em } img { height: ...

  5. FreeRTOS-01移植及任务创建和删除

    根据正点原子FreeRTOS视频整理 单片机:STM32F207VC FreeRTOS源码版本:v10.0.1 任务创建和删除API函数: 工程列表: 1. main.c /**/ #include ...

  6. 一个迷你的 Node.js 基于 Express 的 MVR 模式的 API工程 的分析

    1. 工程说明 该工程是基于 Express 库,编写的一个 API 查询返回的一个微型应用. API Resource 就是把 API 的内容当做网络资源去处理.工程中的路由访问也是返回 API 内 ...

  7. JS获取后台返回的JSON数据

    问题:通过$.get从后台获取了一段json串{"id":"1","name":"ww"},然后要拿到这里面的id和na ...

  8. 移远EC20的使用

    一 发短信 3. 推荐短信流程3.1 查询 短信存储区AT+CPMS?+CPMS: "ME",19,255,"ME",19,255,"ME" ...

  9. (转)tune2fs命令详解

    tune2fs命令详解(原创) 原文:http://czmmiao.iteye.com/blog/1749232 tune2fs简介 tune2fs是调整和查看ext2/ext3文件系统的文件系统参数 ...

  10. [译文和个人分析]REST vs RPC - RESTful究竟是什么?

    一 好烦啊,分不清REST RPC RESTful的区别,所以只能翻译一篇谷歌的文章,括号中是我的补充 原文连接 REST vs RPC - What is RESTful? 注意需要*** 二 译文 ...