prototype相关内容
我创建了一个基于原型的类 Person,它打开一个 WebSocket 连接并将回调函数定义为原型方法. 因为在回调内部 this 将引用 WebSocket 对象,我使用另一个变量来保持 Person 的 this.但是,当我处理多个实例时,变量会被覆盖. 这是一个显示问题的小片段: function Person(name){自己=这个self.name = 姓名}Person.
..
我在 js oop 上有问题仍然困扰着我 - 我确定我做得不好,但我不知道如何正确地做. 例如,我有这个代码 Auth.prototype.auth = function () {var request = new XMLHttpRequest();request.open('GET', this.getAuthServerURL() + '/token', true);request.s
..
我目前正在开发一个 TypeScript API,它需要一些附加功能绑定到对象原型 (Object.prototype). 考虑以下代码: class Foo {}接口对象{GetFoo(): Foo;GetFooAsString(): 字符串;}//这是有问题的...Object.prototype.GetFoo = function() {返回新的 Foo();//注意,这一行只是为了
..
我看到很多这样的代码: function Base() {}函数子(){}Sub.prototype = new Base(); 但是,如果您这样做: s = new Sub();打印(s.constructor == Sub); 这是错误的.这对我来说似乎令人困惑,因为 s 的构造函数确实是 Sub.这样做是否传统/更好? function Base() {}函数子(){}Sub.pr
..
我正在阅读这篇小文章以了解从 EventEmitter,但我有点困惑. 他这样做: function Door() {events.EventEmitter.call(this);this.open = 函数(){this.emit('打开');};}Door.prototype.__proto__ = events.EventEmitter.prototype; https://gis
..
因为当我们声明一个函数时,我们将其原型的构造函数属性指向函数本身,所以像这样覆盖函数的原型是一种不好的做法: function LolCat() {}//此时 LolCat.prototype.constructor === LolCatLolCat.prototype = {你好:函数(){警报('喵!');}//其他方法声明也放在这里};//但现在 LolCat.prototype.cons
..
以下程序的正确输出是什么(ECMA 标准的意思是正确的)? function nl(x) { document.write(x + " ");}nl(功能.原型);nl(Function.prototype.prototype);nl(Function.prototype.prototype == Object.prototype);nl(Function.prototype.prototype
..
对象字面量=用大括号括起来的名称值对. 构造函数=用于使用关键字 new 创建多个实例的函数. 原型=用于文字的扩展. 这是我迄今为止所理解的.但是我研究得越多,我就越对它们每个的重要性感到困惑.我在我的代码中使用了几次构造函数、原型和文字.但是每次使用它们时,我觉得我仍然没有意识到它的全部潜力.我现在想在成为初学者之前先走一步.我希望 stackoverflow 的人们帮助我实
..
能否解释一下构造函数中设置方法和原型对象设置方法的区别?以下代码显示了这两种设置方法的方式 - say_hello 和 say_bye 都可以正常工作: function MessageClass() {this.say_bye = function() { alert('see ya');};}MessageClass.prototype.say_hello = function() { al
..
在 JavaScript 中,每个函数的原型对象都有一个不可枚举的属性 constructor 指向函数 (EcmaScript §13.2).它不用于任何本机功能(例如 instanceof 仅检查原型链),但是我们鼓励在覆盖函数的 prototype 属性以进行继承时调整它: SubClass.prototype = Object.create(SuperClass.prototype, {
..
试图绕开 Javascript 对 OO 的看法……并且,像许多其他人一样,对 constructor 属性感到困惑.特别是 constructor 属性的重要性,因为我似乎无法让它产生任何影响.例如: function Foo(age) {this.age = 年龄;}功能栏(){Foo.call(this, 42);this.name = "baz";}Bar.prototype = Obj
..
我在使用 Knockout 时遇到了一个问题,其中我对用户对象进行了原型设计,而我的对象的可观察属性似乎被上次出现的对象覆盖了. 因此我不能多次使用同一个对象,否则它会被覆盖. 虽然这很难解释,但请看我的小提琴. http://jsfiddle.net/RSEcj/1/ 我做错了什么?(或者这是 Knockout 中的错误?)我该如何解决这个问题. 解决方案 因为
..
我正在尝试为对象浏览器编写一个主干视图,该视图旨在在具有不同对象类型和略有不同的操作的多个地方实现. 我曾尝试简单地在我的浏览器中扩展主干视图,然后在我的实现中扩展浏览器,但是这给我留下了一些共享的属性.这是一种不希望的效果,因为每次创建浏览器时都会将数据附加到所有实现中. 有人可以阐明解决此问题的方法或替代解决方案吗? 以下是一些代码示例,可让您更好地了解当前的情况: va
..
我在我的应用中使用了 flotr,我需要一些简单的方法来在 x 轴上显示日期.我知道 flotr 能够通过 在 x 轴上显示时间 'xaxis' : {'mode' : 'time', 'min' =>'??', 'max' =>'??', 'timeFormat' =>'??', 'noTicks' =>10} 但是日期呢?无论如何,我也无法让时间 x 轴工作,因此也将不胜感激任何时间 x
..
在风格上,我更喜欢这种结构: var Filter = function( category, value ){this.category = 类别;this.value = 值;//产品是一个 JSON 对象Filter.prototype.checkProduct = 函数(产品){//运行一些检查返回 is_match;}}; 对于这个结构: var Filter = function
..
在 JavaScript Prototype 继承中,添加prototype.constructor 属性的目的是什么.让我用一个例子来解释. var Super = function() {this.superProperty = '超级属性'}var Sub = function() {this.subProperty = '子属性'}Sub.prototype = new Super();
..
我是 Javascript 编程的新手,我正在从面向对象编程的角度处理我的第一个应用程序(实际上是一个游戏)(我知道 js 并不是真正的面向对象,但对于这个特定问题,它对我来说更容易就这样开始) 我有一个“类"层次结构,其中最顶层(“事物"类)定义了相关事物(游戏中的附加项目)的列表.它是由 ThingA1 和 ThingA2 类继承的 ThingA 类继承的. 最小的例子是: fu
..
这是我想要做的: function a() {//...}函数 b() {//一些魔法,返回一个新对象.}var c = b();c instanceof b//->真的c instanceof a//->真的b instanceof a//->真的 有可能吗?我可以通过将 a 挂接到它的原型链中轻松地使 b 成为 a 的一个实例,但是我必须做 new b(),这是我试图避免的.我想要的可能吗
..
我有一些嵌套的对象数据,我想搜索它并根据 id 返回匹配的对象. var data = [{id: 0, name: 'Template 0', subComponents:[{id: 1, name: 'Template 1', subItems:[{id: 2, name: 'Template 2', subComponents:[{id: 3, name: 'Template 3'}],
..
我有这样的例子. function Rabbit() {var 跳转 = "是";};var rabbit = new Rabbit();警报(兔子.跳跃);//不明确的警报(Rabbit.prototype.constructor);//准确输出函数Rabbit()的代码; 我想更改 Rabbit() 中的代码,以便 var jumps 成为公开的.我是这样做的: Rabbit.proto
..