草庐IT

Prototype

全部标签

javascript - JavaScript 对象只是一个关联数组吗?

好的,我只是在学习JavaScript的基础知识,我在学习objects的时候遇到了这个例子......JavaScriptvarperson={firstname:"Smith",lastname:"Bach"};而我们用PHP写的是$person=array("firstname"=>"Smith","lastname"=>"Bach");那么这是同一件事还是我在理解这个概念时犯了错误? 最佳答案 不,对象不止于此。对象确实是一个map/字典,但另外每个对象都从另一个对象继承了一些属性(键值对)。另一个对象称为原型(protot

javascript - 扩展类时无法读取未定义的属性 'prototype'

我在扩展项目时遇到问题,我得到的是:UncaughtTypeError:Cannotreadproperty'prototype'ofundefined根据我的阅读,项目需要按特定顺序定义,所以这就是我正在做的,因为看起来它们的顺序是正确的。这不会发生在编译时,而是在浏览器运行时发生。我正在使用browserify将这些文件编译成一个文件和tsify.这是我的入口点ma​​in.ts:importGameSmartWebfrom'./GameSmartWeb';window.gs=newGameSmartWeb();然后它调用此文件GameSmartWeb.ts,它引用了一个GUI类:

javascript - 使用原型(prototype)javascript按下回车键时提交表单

我已经看到了一些其他关于此的问题,但没有关于Prototype的问题。我有一个没有提交按钮的表单(使用调用一些javascript的样式链接)。在所有输入字段中检测回车键并提交表单的最佳方法是什么?谢谢! 最佳答案 这是您可以使用的那种东西的示例:$('input').observe('keypress',keypressHandler);functionkeypressHandler(event){varkey=event.which||event.keyCode;switch(key){default:break;caseEve

javascript - Crockford 原型(prototype)继承的小缺点

只是在JS中尝试不同的继承技术,并且发现了一些关于Crockford的原型(prototype)继承模式的稍微令人不安的事情:functionobject(o){functionF(){}F.prototype=o;returnnewF();}varC,P={foo:'bar',baz:function(){alert("bang");}}C=object(P);一切都很好-除了当你登录到控制台时-对象显示为F。我见过经典的仿真,你可以在其中重新指向构造函数-是否有类似的方法来强制对象(控制台)引用? 最佳答案 问题是它指的是构造函

javascript - 自定义数组对象

我是原型(prototype)设计和实例化的新手,因此有一个问题:如何创建一个函数来构造一个新数组,该数组还具有一些添加了原型(prototype)的属性,但不修改默认的Array函数?例如:functionCool_Object(){this=newArray()//Constructnewarray.//Thisisonlyfortheexample.Iknowyoucan'tdothat.}Cool_Object.prototype.my_method=function(){//Somemethodadded};所以,如果你调用:varmyObject=newCool_Objec

javascript - 如何使用 angular.copy() 保留原型(prototype)?

我正在使用Angular.js1.3.x。在以前的Angular版本中(包括1.3.0-beta5),下面的代码会将属性从原型(prototype)直接复制到新对象:functionx(){};x.prototype.logIt=function(){console.log("it")};varsrc=newx();//xhascustompropertiesontheprototypevardest={};angular.copy(src,dest);dest.logIt();//"TypeError"inAngular1.3.0+但是,在Angular.js1.3.0+中,原型(p

javascript - Prototype vs. Not,有什么好处?

这里我做了两个对象;一个在构造函数中创建访问器方法,另一个在原型(prototype)中创建。为什么人们会选择其中之一而不是另一个?functionspy1(name){this.name=name;varsecret;this.setSecret=function(message){secret=message;};this.getSecret=function(){returnsecret;};}functionspy2(name){this.name=name;this.secret;/*(seecomment)was:varsecret;*/}spy2.prototype.se

javascript - 如何在异步/等待语法中使用 Promise.prototype.finally()?

实际上我的主要问题是在async/awaitES8语法中使用Promise.prototype.catch(),毫无疑问是Promise。prototype.then()存在于async/await语法的本质中。我搜索了关于在async/await中使用Promise.prototype.catch()并找到了这个:async()=>{try{constresult1=awaitfirstAsynchronousFunction();constresult2=awaitsecondAsynchronousFunction(result1);console.log(result2);}c

javascript - 将 NodeList 转换为数组

我很难将NodeList转换为IE8中的数组。以下内容在Chrome中完美运行,但在IE8中toArray()不是被认为有效:NodeList.prototype.toArray=function(){vara=[];for(vari=0,len=this.length;i我尝试向数组添加原型(prototype)函数只是为了检查我的理智并且它工作正常。这让我觉得IE8实际上并没有返回NodeList?这是一个完整的例子:http://jsfiddle.net/e4RbH/我做错了什么? 最佳答案 如果您正在寻找使用ES6的现代答案

Javascript 继承 : Parent's array variable retains value

我在这里尝试在JavaScript中使用继承,我发现Parent类中的数组值被Child类继承时出现问题。下面的代码是正常的继承:varParent=function(){this.list=[];};varChild=function(){};Child.prototype=newParent;Child.prototype.constructor=Child;varobj1=newChild;obj1.list.push("hello");console.log(obj1.list);//prints["hello"];当我将新的Child对象(继承包含名为list的数组变量的Pa