prototypal-inheritance相关内容

EXTENDS 挑战:预处理器函数宏和类 oop

背景 我一直在使用 C 预处理器来管理和“编译"具有多个文件和构建目标的半大型 javascript 项目.这使您可以从 javascript 中完全访问 C 预处理器指令,如 #include、#define、#ifdef 等.这是一个示例构建脚本,您可以测试示例代码: #!/bin/bash导出 OPTS="-DDEBUG_MODE=1 -Isrc"对于 FILE 在 `find sr ..

在 Backbone.js 中扩展模型超类的默认值

我想向this 答案,但我似乎无法这样做,我深表歉意. 扩展子类的默认值反映在超类中.这似乎违背了目的,我更倾向于在子类中明确列出超类的默认值以获得我正在寻找的结构. var Inventory = Backbone.Model.extend({默认值:{猫:3,狗:5}});var ExtendedInventory = Inventory.extend({});_.extend(Ext ..
发布时间:2021-12-29 09:07:29 前端开发

检查一个构造函数是否继承了 ES6 中的另一个

我有一种情况,我需要检查一个构造函数 (X) 在其原型链中是否有另一个构造函数 (Y)(或者是 Y 本身). 最快的方法可能是(new X()) instanceof Y.在这种情况下,这不是一个选项,因为如果在没有有效参数的情况下实例化,则有问题的构造函数可能会抛出异常. 我考虑的下一个方法是: const doInherit = (A, B) =>{而 (A) {如果(A === ..
发布时间:2021-12-23 11:57:49 前端开发

在 JavaScript 中执行继承

现在虽然我知道您不能像在 C# 中那样执行继承,但我在 Internet 上看到它提到它是可能的.如果无法使用纯 JavaScript 代码,那么是否可以使用 Ext JS 以及如何使用? 解决方案 JavaScript 面向对象的范式是 基于原型.没有“类",只有对象. 您可以通过不同的方式实现继承.两种更流行的选择是“伪经典"和“原型"形式.例如: 伪经典继承 我认为 ..
发布时间:2021-12-17 19:17:00 前端开发

John Resig 的 Javascript 继承片段是否已弃用?

我正在寻找一种创建两个类的简单方法,一个从另一个继承,子级重新定义父级的方法之一,并在新方法中调用父级的方法. 例如,有一个类Animal 和Dog,其中Animal 类定义了一个方法makeSound(),该方法建立了如何输出一个声音,然后 Dog 在其自己的 makeSound() 方法中覆盖以发出“woof"声音,同时还调用 Animal 的 makeSound() 以输出该woof. ..
发布时间:2021-12-12 08:26:29 前端开发

Javascript 函数对象的属性

我有一个 JavaScript 函数对象; var addNum = function(num1, num2) {返回 num1 + num2;} 现在如果我尝试访问 addNum.divide() 我想了解上述代码的原型链.我在上面的例子中读到,addNum 将搜索divide(),然后是Function.prototype,最后是Object.prototype. 但我的问题是在 ..
发布时间:2021-12-11 23:56:03 前端开发

__proto__ VS.JavaScript 中的原型

这个图再次表明每个对象都有一个原型.构造函数函数 Foo 也有自己的 __proto__ 即 Function.prototype,并且反过来也通过它的 __proto__ 属性再次引用到Object.prototype.因此,重复一遍, Foo.prototype 只是一个显式的Foo 的属性,指的是 b 和 c 对象的原型. var b = new Foo(20);var c = new F ..

AngularJS 中范围原型/原型继承的细微差别是什么?

API 参考范围页面 说: 作用域可以从父作用域继承. 开发者指南范围页面说: 范围(原型)从其父范围继承属性. 那么,子作用域是否总是原型继承自其父作用域? 有例外吗? 当它确实继承时,它总是正常的 JavaScript 原型继承吗? 解决方案 快速解答: 子作用域通常原型继承自其父作用域,但并非总是如此.此规则的一个例外是带有 scope: { ... } ..

Javascript“原型"的替代等价物是什么?在打字稿?

Typescript 提供面向对象的 &Javascript 提供的函数式编程之外的通用编程范式. 关键字prototype 是一个非常强大的工具,有时也是一个危险的工具.一般来说,我读到它模拟了 Javascript 中的继承方面. 那么最好,.ts 中 prototype 的 [最接近] 替代方案是什么? 解决方案 Typescript 提供面向对象的 &Javascr ..

Object.create 与 new 在原型继承方面

我已经搜索了很多关于它,但我找不到任何直接的答案 为什么我们不能访问使用 Object.create() 创建的对象的原型属性/方法,但我们可以使用 new 关键字? 让我们考虑如下构造函数Greeting: function Greeting() {}Greeting.prototype.byeBye = function(){console.log("祝你有美好的一天!")} ..
发布时间:2021-06-22 20:07:37 前端开发