prototype相关内容
如果这是重复的,我很抱歉,到目前为止我找不到相同的问题. 我的 __proto__ 成员中有一个带有各种方法的对象.让我们调用这个对象的类型myObjectType. 稍后我必须做一个JSON.stringify(myObjectType).问题是,当我从之前获得的 JSON 字符串构建我的对象时,我的对象类型是普通的 Object,我失去了我拥有的所有方法. 有人明白为什么吗?
..
var x = {名称:“日本",年龄:20}x.prototype.mad = function() {警报(“美国");};x.mad(); 上面的代码不起作用.对象字面量不能扩展?或 x.mad() 不是正确的调用方式. 解决方案 你不能这样做.为了能够使用它的 prototype 定义对象方法和属性,您必须将对象类型定义为构造函数,然后使用 new 运算符创建它的实例.> fu
..
根据我在网上看到的,在 JavaScript 中扩展对象的一种方法是首先克隆它的原型,然后将该原型设置为子类的原型. 它似乎在这里不起作用: //创建构造函数...功能包(操作码,大小){DataView.call(this, new ArrayBuffer(size));setInt8(0, 操作码);}//扩展数据视图 ...Packet.prototype = Object.crea
..
获取一个对象的原型很容易,但是有没有办法获取所有具有特定原型的实例? 像这样: var allAnimals = Animal.prototype.getInstances(); 可以编写自定义代码来跟踪实例化的对象,但我对是否有任何内置方法感兴趣. 解决方案 你可以试试这样的 函数 A(f){this.field = f;A.instances.push(this);}A.i
..
我一直无法找到对此的明确解释.这是我在 MDN 上找到的一个简单示例.我唯一不明白的是为什么要设置构造函数.有人可以解释为什么需要这样做吗?是为了继承,以便引用正确的原型链吗? //形状 - 超类函数形状(){这个.x = 0;this.y = 0;}//超类方法Shape.prototype.move = function(x, y) {this.x += x;this.y += y;cons
..
我正在将 Rails 应用程序从原型迁移到 Jquery,我看到类似 的语法 var subEl = $$("#items_grid_container")[0] subEl.style.height = windowGridContainerEm + "em" 我知道如何将第二部分转换为 Jquery,但如何转换 var subEl = $$("#items_grid_cont
..
与此线程相关:JavaScript 修改函数原型的更好方法,我想知道为什么变异实例的 __proto__ 是一个缓慢的操作. 我知道它已被弃用,我经常在网上阅读它.但我一直没有找到原因.为什么它真的被弃用了,为什么它很慢? setPrototypeOf() 是否会是更好的解决方案,至于性能? 解决方案 我想知道为什么变异实例的原型是一个缓慢的操作. 在您的浏览器中实现
..
我正在构建一个 javascript 库,我必须在其中创建类日志,其中大多数都有许多必须向用户公开的属性. 例如: function Person(name,age){} 现在我想为属性(名称和年龄)创建 getter 和 setter. Nornall,我必须将这些方法添加到 Person.prototype 中: Person.prototype.getName=functi
..
在 Prototype 中,是否有 AJAX 启动/停止事件允许您创建一个脚本,以便在 AJAX 加载期间全局显示模式等待消息? 就像,使用 jQuery,我在应用程序布局中使用这个脚本来全局显示任何 jQuery AJAX 事件的模式等待对话框: $(document).ajaxStart(function () {$.blockUI({ message: '
..
为什么添加原型后构造函数从Foo变成了Object?如何访问原始构造函数? 代码: function Foo() {}var foo1 = new Foo();console.log('foo1:' + foo1.constructor);Foo.prototype = {}var foo2 = new Foo();console.log('foo2:' + foo2.constructo
..
我希望能够在 javascript 中扩展函数原型(也就是说,向所有函数添加一个函数).目的是将其转换为另一种语言之间交换的格式(即ruby,只能通过字符串进行通信[在此特定设置中]).我已经有了一个系统,所以我可以通过在 ruby 对象上定义 to_js 方法和在 javascript 对象上定义 to_ruby 方法来传递其他类型,就像这样 Number.prototype.to_rub
..
我有以下代码: var A = function() {};var a = new A();var b = new A();A.prototype.member1 = 10;A.原型 = {}var c = new A();控制台日志(a.member1);console.log(a.constructor === b.constructor);console.log(a.constructor
..
我正准备在 javascript 中创建一个修剪函数,但由于我不想重新发明轮子,所以我用谷歌搜索了这个方法. 我找到了这个链接http://www.somacon.com/p355.php 它提供的解决方案是: String.prototype.trim = function() {return this.replace(/^\s+|\s+$/g,"");}String.prototyp
..
以下代码似乎没有复制对象的原型. const AnimalProto = {吃() {//函数体},睡觉() {//函数体},}功能animalCreator(原型,属性){返回 {...Object.create(proto), ...属性}}const cat = AnimalCreator(animalProto, { name: 'garfield' })cat.eat()//这是一个错
..
有人可以帮我理解原型属性吗?我不明白原型属性是函数的属性还是函数内部的属性. 假设我们创建了以下构造函数 Food.此时,函数 Food() 具有属性 Food.prototype.既然 Food 是 Object 的一个实例,那么这意味着 Obect.prototype 是所有用 Food() 创建的对象的原型属性. function Food() {} 然后创建另一个构造函数 Piz
..
我用来学习 C 的书解释了我无法正确理解的称为“原型"的东西.在书中,以下示例代码解释了这些“原型".这是什么意思?什么是“原型"? ///* two_func.c -- 在一个文件中使用两个函数的程序 */#include 空管家(空);int main(void){printf("我会召唤管家功能.\n");管家();printf("是的!给我来点茶和可写的 DVD.\n");getchar
..
我知道 JavaScript 函数对象的 prototype 属性被复制到内部的 [[Prototype]] 属性(又名 __proto__)使用函数作为构造函数实例化的对象.因此,我可以将此属性设置为我想充当原型的任何对象: function Foo() {}Foo.prototype = {toString: function() { return "I'm a Foo!";}}新 Foo(
..
因此,每次提到 __proto__ 时,通常都会提到 Brendan Eich 请求不要使用它.我一直在使用 Typescript 中的一些反射,将类的原型链导航到使用它提供的祖先类,并且很想注入一个包含类元数据的原型属性. 是否有人对我可能产生的性能开销有任何具体说明,或者不依赖于 __proto__ 的解决方案? 编辑 - 用代码更新.这只是我输入的一个人为的例子,但它说明了我希望
..
据我所知,不可能以这种方式从自身修改对象: String.prototype.append = function(val){这个 = 这个 + val;} 那么是不是根本不可能让一个字符串函数修改自己? 解决方案 String 原语是不可变的,它们在创建后不能改变. 这意味着其中的字符可能不会改变,对字符串的任何操作实际上都会创建新的字符串. 也许您想实现某种字符串构建器?
..
我是 JavaScript 的初学者,正在JavaScript 中的原型. 根据文章这里 创建原型 创建对象原型的标准方法是使用对象构造函数: function person(first, last, age, eyecolor) {this.firstName = first;this.lastName = last;this.age = 年龄;this.eyeColor = 眼睛颜
..