javascript - new 和 函数调用的优先级

 萎靡的世界 发布于 2022-11-27 10:36

为什么第二种报错,https://developer.mozilla.org... MDN上两种优先级好像一样啊

new (Vue.extend({
    mixins: [myMixin]
}))
// 报错 Uncaught TypeError: Cannot read property 'name' of 
// undefined
//  at new Vue.extend (vue.js:3425)
new Vue.extend({
    mixins: [myMixin]
})
2 个回答
  • 第一种是vue.extend先生成类的构造函数,再new生成对象。

    第二种是直接把vue.extend当构造函数来使用,原来的扩展参数被当成了构造参数,根本没发生函数的扩展,所以报错了

    2022-11-27 10:41 回答
  • 仔细比较下这两种区别,便可以解释这个报错

    new (Vue.extend({
        mixins: [myMixin]
    }))
    
    // 等同于
    
    var Content = Vue.extend({
        mixins: [myMixin]
    });
    
    new Content;
    new Vue.extend({
        mixins: [myMixin]
    })
    
    //等同于
    
    var Extend = Vue.extend;
    new Extend({
        mixins: [myMixin]
    });
    2022-11-27 10:41 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有