实例对象和函数对象的区别
new 出来的对象是实例对象,将一个函数作为对象使用时,他就是一个函数对象 xxx.call()
错误处理
error是所有错误的父 类型错误 引用错误 语法错误 栈错误
错误的处理
try{ 有可能出错的代码 }catch(error){}
trrow error 抛出之后在他的外层进行接收处理
js单线程
同步任务和异步任务
只能按顺序执行的是同步任务,可以先挂起,之后在执行的是异步任务 同步回调函数和异步回调函数
js 的执行过程
js代码是单线程的,代码只能从上往下执行。但实际当中浏览器是多个线程配合执行js代码,在执行代码时会把异步任务
什么是promise
promise是一个构造函数,一个容器,里面的操作会在未来的某个时间执行。
promises的英文意思是承诺。一个promise对象只有三种状态,进行中,成功,结束,状态一旦改变就不能修改了。
var pri = new promise(function(resolve,reject){
if(ture){
resolve("成功了")//不加return这个会是最后执行
console.log("11")//这个会比resolve先执行
}
else{
reject("失败了")
}
})
pri.then((value)=>{console.log(value)})
.catch(value=>{console.log(value))
resolve和reject是内置的一个api,pomise状态变成resolve就会触发then,变成reject就会触发catch,通常要加上return
then第一个参数是成功时执行的回调函数,第二个是失败时执行的回调函数
.catch是发生错误时错误会被捕获,包括then中发生的
他解决了回调地域的问题