prototypal-inheritance相关内容

Prototypal Inheritance最佳实践?

我刚刚进入JavaScript,我正试图围绕原型继承。似乎有多种方法可以达到同样的效果,所以我想看看是否有任何最佳实践或理由以一种方式做事。以下是我所说的: //方法1 函数Rabbit(){ this .name =“Hoppy”; this.hop = function(){ console.log(“我正在跳!”); } } //方法2 函数Rabbit( ..
发布时间:2019-06-06 00:15:42 前端开发

如何使用默认原型从没有原型的对象创建JS对象?

背景:查询字符串模块适用于示例能够将 key = value& hello = universe 解析为对象 {key:'value',hello:'universe'} 。但是,模块作者已决定返回的对象没有原型。换句话说,这个“混蛋”对象是由 Object.create(null)创建的。 问题:使用 parsed.hasOwnProperty('hello')会很方便,但如果没有默认对象 ..
发布时间:2019-05-27 12:57:31 前端开发

在Javascript中实现多重继承

我观察到通过在Javascript中使用“prototype”属性(并间接设置原型链),可以在JavaScript中实现多级继承。但是有可能通过某种方式在Javascript中实现多重继承吗?任何简单的例子都会很棒。 解决方案 要实现简单的继承,你通常会这样做 MyClass.prototype = new MySuperClass(); 但你也可以复制另一个“类 ..
发布时间:2019-05-24 18:51:33 前端开发

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

背景 我一直在使用C预处理器来管理和“编译”包含多个文件和构建的半大型JavaScript项目目标。这样就可以完全访问C预处理程序指令,例如 #include , #define , #ifdef 等。这是一个示例构建脚本,因此您可以测试示例代码: #!/ bin / bash export OPTS = `-dDEBUG_MODE = 1 -Isrc“ for file in` ..

javascript中的原型继承概念作为基于原型的语言

您知道Javascript是基于原型的编程语言。 我读过一些关于Javascript及其原型继承概念的书籍,但是: “如果你不能解释它为六岁了,你自己真的不明白。“。好吧,我试图向一位22岁的朋友解释JavaScript原型概念并完全失败! 你如何向一个对这个主题感兴趣的6岁的人解释它? 我已经看到了Stack Overflow中给出的一些例子,它没有帮助。 解决方案 ..

(开源)JavaScript Prototypical OO的例子

Bounty编辑: 我正在寻找用纯原型OO范例编写的代码(想想自)。不是原型OO和经典OO的混合物。我不希望看到通用的OO包装器,而只是使用原型OO技术和仅原型OO技术。 参考相关问题: Prototypical OO in JavaScript 在上面的问题中,我主要关注 可以像这样编写原型OO吗? 我们是否需要构造函数和初始化逻辑,有哪些替代方案? 新 ..

Object.create原型链

初步问题 昨天我读到了ECMAScript 5 Object.create() 我想用这种方法开始在我的代码中构建原型链设置原型及其构造函数, 我喜欢你可以直接设置可写配置等。 我试过这样的 function printobject(msg,obj){ if(msg){ document.write(“”+ msg +“ ”); docu ..

设置Object Literal的原型

假设我有以下代码; var A = {a:10}; var B = {b:20}; B.prototype = A; alert(B.a); 我对B.a的定义不明确。 我做错了吗?如何设置对象文字的原型? 我知道如何为Constructor对象做。所以下面的代码是完美的 函数A(){this.a = 10} 函数B(){ this.b = ..
发布时间:2019-04-27 14:03:59 前端开发

如何创建Prototype函数可访问的私有变量?

我正在努力深入了解原型继承和类创建(我知道,还有其他方法,但出于此目的,我正在尝试掌握原型。)我的问题是:使用以下代码例如,有没有办法在树和 Fruit 中创建私有变量,该变量不会随函数返回,但仍然可以访问原型函数 genus 和批量? var Tree = function(name,size){ this.name = name; this.size = size; }; ..
发布时间:2019-02-19 18:11:41 前端开发

this.function和prototype.function有什么区别?

鉴于简单的JS继承,这两个例子之间的基函数的实际区别是什么?换句话说,一个人什么时候应该选择在“this”上而不是在原型上(或者反过来)定义一个函数? 对我来说第二个例子更容易消化,但还有多少呢? 在此定义的函数: // base var _base = function(){ this.baseFunction = function(){ console.log(“H ..
发布时间:2019-02-18 12:56:30 前端开发

扩展核心类型而无需修改原型

如何在不修改原型的情况下扩展核心JavaScript类型(String,Date等)?例如,假设我想用一些方便的方法创建一个派生的字符串类: function MyString (){} MyString.prototype = new String(); MyString.prototype.reverse = function(){ 返回this.split('')。rever ..
发布时间:2019-01-25 19:19:26 前端开发

JavaScript基于原型的继承的好例子

我用OOP语言编程已有10多年了,但我现在正在学习JavaScript,这是我第一次遇到基于原型的继承。通过学习优秀的代码,我倾向于学得最快。什么是正确使用原型继承的JavaScript应用程序(或库)的精心编写的示例?您能否(简要地)描述原型继承的使用方式/地点,所以我知道从哪里开始阅读? 解决方案 道格拉斯·克罗克福德有一个关于 JavaScript Prototypal Inheri ..
发布时间:2019-01-23 22:44:36 前端开发