prototypal-inheritance相关内容

无法将ES6类构造函数称为普通函数的原因是什么?

ES6类的构造函数不能称为普通函数.根据ES6,完成此操作后应提高TypeError.我曾经以为,类只是原型中构造函数或函数的语法糖,但事实并非如此. 我想知道,这背后的原理是什么?除非我错过了什么,否则它会阻止使用自定义this调用该函数,这对于某些模式可能是理想的. 解决方案 这背后的原理是什么? 这是一种保障措施.当您在没有new的情况下调用ES5 function构 ..
发布时间:2020-07-31 00:28:53 前端开发

原型编程中的对象和原型之间有什么区别?

我试图理解创建和使用对象的"JavaScript方式",我认为我对一个对象和一个原型有误解. 在我开始的一个新项目中,我决定尝试原型继承.我很困惑,是否意味着我应该只创建要使用的对象,然后使用Object.create()基于该对象创建其他对象,例如: var labrador = { color: 'golden', sheds: true, fetch: fun ..

JavaScript中的原型OO

TL; DR: 我们是否需要原型OO中的工厂/构造函数?我们可以进行范例切换并将其完全删除吗? 背景故事: 最近,我一直在用JavaScript进行原型OO,这发现用JavaScript完成的OO中有99%都在强迫使用经典的OO模式. 我对原型OO的看法是,它涉及两件事.方法(和静态数据)的静态原型以及数据绑定.我们不需要工厂或构造函数. 在JavaScript中,这 ..

ECMAScript规范是否允许Array是“超类的"?

我正在寻找任何迹象表明“超类化"内置类型是否可以按规范工作.也就是说,给定ECMAScript的任何假设一致的实现,内置的“超类化"是否会通过影响类构造函数的创建算法来破坏运行时? “超类" ,我是用一个术语来指代的类,该类的构造,调用或将其调用为函数(如果适用)所返回的对象将使用相同的内部插槽创建(除了[[Prototype]]之外,无论其直接超类是什么,只要在重新分配它们后,类构造函数的 ..

addEventListener上的非法调用

使用jQuery,您可以使用 .on() / .off() / .trigger()任何jQuery对象上的方法,为您提供对事件系统的强大访问。我试图在vanilla JavaScript中做类似的事情,但我一直遇到“TypeError:Illegal Invocation”。我知道这个错误通常是指当方法需要时会丢失这个引用。使用 .apply 或 .call 似乎通常可以解决问题,但我仍遇到问题 ..

Javascript中的无限原型继承

我正在学习Javascript中的原型继承,并且据我所知,我正在尝试使用它将进程发送到无限递归链接。 我对原型继承的想法是一个对象(它是一个函数)保存原型链接。该对象的任何实例都指向它。因此,如果我说instance.someproperty它会查看父对象的原型链。 假设这样,如果我只是将函数原型列表指向自身,它应该进入当对象试图访问某些属性时无限循环。 var p = fun ..
发布时间:2019-06-12 13:50:58 前端开发

PHP中的原型继承(如在JavaScript中)

是否有可能在PHP中使用某种原型继承,就像在 JavaScript 中实现一样? 出于好奇,这个问题出现在我的脑海中,而不是我必须实施这样的事情并反对经典继承。它只是一个值得探索的有趣区域。 PHP中的将经典继承模型与某些结合使用的预构建函数原型继承与匿名函数的组合? 假设我有一个UserModel的简单类 类UserModel实现PrototypalInheritance ..
发布时间:2019-06-12 11:44:14 PHP

如何在响应和请求中添加新方法

我想在node.js的响应和请求中添加新方法。 我如何更有效地做到这一点? 我无法理解在express.js中如何做到这一点 解决方案 作为JavaScript,有很多方法可以做到这一点。对于express来说,对我来说最合理的模式是将函数添加到早期中间件中的每个请求实例: //只是一个例子 函数getBrowser(){ 返回this.get('User-Agent' ..
发布时间:2019-06-08 16:12:27 前端开发

字段在Qooxdoo库中作为静态字段

我想使用qx-oo(Qooxdoo)作为OOP库。但我对场外成员的奇怪行为感到困惑。看起来这些字段在一个类的所有对象之间共享,就像静态成员一样。例如,此测试代码 qx.Class.define(“com.BaseClass”, { extend:qx.core.Object, 成员: { _children:[], getChildrenCount:function(){ ..
发布时间:2019-06-07 22:03:01 前端开发

javascript中的原型继承问题

我理解什么是原型继承,但我必须对实现感到困惑。我认为修改函数构造函数的原型会影响该构造函数的所有实例,但事实并非如此。 JS如何从对象查找方法到其原型? 这是一个例子 函数A(名称){ this.name = name; } a = new A(“brad”); A.prototype = { talk:function(){ return“hello”+ th ..

原型继承的构造函数赋值

在进行原型继承时,会要求将子构造函数引用回自身, A = function() {} B = function(){} B.prototype = new A; B.prototype.constructor = B; 如果不是会产生什么不利影响? 编辑 作为 @GGG & @CMS 已经解释过,构造函数对齐对于通过 new C ..
发布时间:2019-06-07 21:56:09 前端开发