Object、Promise、HTML5简单面试汇总

其他:Object 常用方法

Object.keys()方法:获取对象的属性名或者方法名

var obj={name: "john", age: "21", getName: function () { alert(this.name)}};
console.log(Object.keys(obj)); // ["name", "age", "getName"]
console.log(Object.keys(obj).length); //3
console.log(Object.keys("abcdef")); //["0", "1", "2", "3", "4", "5"]

Object.assign ():将多个原对象的属性和方法都合并到了目标对象上面。===>可以浅拷贝

var source1 = {name : 'ming', age: '19'}; //源对象 1
var source2 = {sex : '女'}; //源对象 2
var source3 = {sex : '男'}; //源对象 3,和 source2 中的对象有同名属性 sex
Object.assign(source1,source2,source3);{name : 'ming', age: '19', sex: '男'}

Promise: 一个构造函数,支持多个回调,出现不同结果时发出相应的回调

① 三种状态:Pending 初始化状态;Resolve()—>Fulfilled 为成功的状态;Reject()—>Rejected 为失败的状态
② 优点:分离了异步数据获取和业务逻辑,有利于代码重复;可以采用链式写法;一旦promise的值确定为fulfilled或者rejected后不可更改
③ 缺点:代码冗余,语义不清
④ 解决了回调地狱;解决异步;
关于使用:

Promise.then(onFulfilled=>{console.log(“成功”)},onRejected=>{}console.Log(“失败”));           --->异步执行.不能同时打印哟~
Promise.resolve(console.log(“成功”))
Promise.reject(console.Log(“失败”))
Promise.catch()--->根据resolve中的结果success还是err来调用
Promise.all()--->处理并行异步时用到,所有异步必须返回resolve才能掉用
Promise.race()--->处理多个异步时,只要有一个异步进入fulfilled或者rejected,就会处理,可以解决多个异步任务容错

Promise封装:

const promisePre = (params, url) => {
    return new promise((resolve, reject) => {
        //如果是请求--
          axios({
           method:post
            url: url,
            data: params
        }).then((res) => {
            if (res.status == '200') {
                resolve(res)
            } else {
                rejected(res)
            }
        }).catch(err => rejected(err))
    })
}
//使用//
promisePre(params, url).then(res=>{}).catch(err=>{})
或:axios.post(url,data).then(res=>{}).catch(err)=>{})

HTML5新特性:

<audio>, <video>,<canvas>,<svg>, echarts,地理定位;
dom对象.requestFullscreen();   // 让dom对象全屏显示 ESC退出全屏
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值