javascript - "A.fn.A.init {}"是什么意思?

标签 javascript

我想创建一个对象A,所以我这样写:

A = function() {
}
A.prototype = {
    init: function() {
        console.log(this);
    }
}

new A.prototype.init() 的结果是 A.init {}
当我为 A.prototype 创建别名时,如下所示:

A = function() {
}
A.as = A.prototype = {
    init: function() {
        console.log(this);
    }
}

结果是 A.as.A.init {} 而不是 A.init {}
为什么? 这个是如何工作的?

最佳答案

What does “A.fn.A.init {}” mean in javascript?

这并没有什么实际意义。控制台 API 及其生成的输出都不是标准化的。浏览器将应用一些特定于实现的启发式方法来确定对象的“名称”或“类”(它们可能会查看构造函数属性,但显然所做的不仅仅是这些)。

在这两种情况下,this 都将引用从 A.prototype.init.prototype 继承的新对象,无论控制台选择向您显示哪个名称。

关于javascript - "A.fn.A.init {}"是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38067933/

相关文章:

javascript - 页面上的任何按钮都会发送表单,即使是表单标签之外的按钮

javascript - 在 HTML 5/Javascript 中批量插入客户端数据库(WEB SQL)

javascript - 获取 td 内的所有复选框

javascript - 是否可以根据条件对齐 div?

javascript - 当满足特定页面宽度时,停止滚动元素并让它回到开始的地方

javascript - 正则表达式 : Remove quotation marks from json list

javascript - AngularJS 模块与 CommonJS/ECMA6 模块

javascript - 如何使用javascript长轮询多个url?

javascript - leaflet.js 缩放到单击的功能,然后向右平移

javascript - 背景 svg 元素上的 mouseenter 事件