prototype相关内容

javascript:带有回调和“this"的原型

我创建了一个基于原型的类 Person,它打开一个 WebSocket 连接并将回调函数定义为原型方法. 因为在回调内部 this 将引用 WebSocket 对象,我使用另一个变量来保持 Person 的 this.但是,当我处理多个实例时,变量会被覆盖. 这是一个显示问题的小片段: function Person(name){自己=这个self.name = 姓名}Person. ..
发布时间:2022-01-03 08:46:21 前端开发

JavaScript 中原型继承的约定

我看到很多这样的代码: function Base() {}函数子(){}Sub.prototype = new Base(); 但是,如果您这样做: s = new Sub();打印(s.constructor == Sub); 这是错误的.这对我来说似乎令人困惑,因为 s 的构造函数确实是 Sub.这样做是否传统/更好? function Base() {}函数子(){}Sub.pr ..
发布时间:2021-12-30 15:44:42 前端开发

Javascript:覆盖函数的原型 - 不好的做法?

因为当我们声明一个函数时,我们将其原型的构造函数属性指向函数本身,所以像这样覆盖函数的原型是一种不好的做法: function LolCat() {}//此时 LolCat.prototype.constructor === LolCatLolCat.prototype = {你好:函数(){警报('喵!');}//其他方法声明也放在这里};//但现在 LolCat.prototype.cons ..
发布时间:2021-12-30 15:37:41 前端开发

正确的函数原型链

以下程序的正确输出是什么(ECMA 标准的意思是正确的)? function nl(x) { document.write(x + " ");}nl(功能.原型);nl(Function.prototype.prototype);nl(Function.prototype.prototype == Object.prototype);nl(Function.prototype.prototype ..
发布时间:2021-12-30 15:31:22 前端开发

对象字面量 vs 构造函数+原型

对象字面量=用大括号括起来的名称值对. 构造函数=用于使用关键字 new 创建多个实例的函数. 原型=用于文字的扩展. 这是我迄今为止所理解的.但是我研究得越多,我就越对它们每个的重要性感到困惑.我在我的代码中使用了几次构造函数、原型和文字.但是每次使用它们时,我觉得我仍然没有意识到它的全部潜力.我现在想在成为初学者之前先走一步.我希望 stackoverflow 的人们帮助我实 ..
发布时间:2021-12-30 15:29:30 前端开发

`constructor` 属性的真正用途是什么?

在 JavaScript 中,每个函数的原型对象都有一个不可枚举的属性 constructor 指向函数 (EcmaScript §13.2).它不用于任何本机功能(例如 instanceof 仅检查原型链),但是我们鼓励在覆盖函数的 prototype 属性以进行继承时调整它: SubClass.prototype = Object.create(SuperClass.prototype, { ..
发布时间:2021-12-30 15:09:15 前端开发

Javascript 构造函数属性的意义是什么?

试图绕开 Javascript 对 OO 的看法……并且,像许多其他人一样,对 constructor 属性感到困惑.特别是 constructor 属性的重要性,因为我似乎无法让它产生任何影响.例如: function Foo(age) {this.age = 年龄;}功能栏(){Foo.call(this, 42);this.name = "baz";}Bar.prototype = Obj ..
发布时间:2021-12-30 15:04:49 前端开发

原型继承的敲除问题

我在使用 Knockout 时遇到了一个问题,其中我对用户对象进行了原型设计,而我的对象的可观察属性似乎被上次出现的对象覆盖了. 因此我不能多次使用同一个对象,否则它会被覆盖. 虽然这很难解释,但请看我的小提琴. http://jsfiddle.net/RSEcj/1/ 我做错了什么?(或者这是 Knockout 中的错误?)我该如何解决这个问题. 解决方案 因为 ..
发布时间:2021-12-29 20:52:05 前端开发

主干视图继承

我正在尝试为对象浏览器编写一个主干视图,该视图旨在在具有不同对象类型和略有不同的操作的多个地方实现. 我曾尝试简单地在我的浏览器中扩展主干视图,然后在我的实现中扩展浏览器,但是这给我留下了一些共享的属性.这是一种不希望的效果,因为每次创建浏览器时都会将数据附加到所有实现中. 有人可以阐明解决此问题的方法或替代解决方案吗? 以下是一些代码示例,可让您更好地了解当前的情况: va ..
发布时间:2021-12-29 09:39:02 前端开发

Flotr x 轴日期/时间

我在我的应用中使用了 flotr,我需要一些简单的方法来在 x 轴上显示日期.我知道 flotr 能够通过 在 x 轴上显示时间 'xaxis' : {'mode' : 'time', 'min' =>'??', 'max' =>'??', 'timeFormat' =>'??', 'noTicks' =>10} 但是日期呢?无论如何,我也无法让时间 x 轴工作,因此也将不胜感激任何时间 x ..
发布时间:2021-12-25 17:05:11 前端开发

Javascript“OOP"和具有多级继承的原型

我是 Javascript 编程的新手,我正在从面向对象编程的角度处理我的第一个应用程序(实际上是一个游戏)(我知道 js 并不是真正的面向对象,但对于这个特定问题,它对我来说更容易就这样开始) 我有一个“类"层次结构,其中最顶层(“事物"类)定义了相关事物(游戏中的附加项目)的列表.它是由 ThingA1 和 ThingA2 类继承的 ThingA 类继承的. 最小的例子是: fu ..
发布时间:2021-12-17 19:40:48 前端开发

我可以在不使用 new 关键字的情况下构造 JavaScript 对象吗?

这是我想要做的: function a() {//...}函数 b() {//一些魔法,返回一个新对象.}var c = b();c instanceof b//->真的c instanceof a//->真的b instanceof a//->真的 有可能吗?我可以通过将 a 挂接到它的原型链中轻松地使 b 成为 a 的一个实例,但是我必须做 new b(),这是我试图避免的.我想要的可能吗 ..
发布时间:2021-12-17 19:14:42 前端开发

为什么不能从原型更改构造函数?

我有这样的例子. function Rabbit() {var 跳转 = "是";};var rabbit = new Rabbit();警报(兔子.跳跃);//不明确的警报(Rabbit.prototype.constructor);//准确输出函数Rabbit()的代码; 我想更改 Rabbit() 中的代码,以便 var jumps 成为公开的.我是这样做的: Rabbit.proto ..
发布时间:2021-12-12 08:30:14 前端开发