草庐IT

Prototype

全部标签

javascript - JS 继承 : calling the parent's function from within the child's function

JS对象模型肯定有不明白的地方。来自这些资源:PrototypesBasicOOPinJS-InheritanceObject.create()我收集了我认为或认为是对象模型的准确心理表征。在这里:所有对象都有一个属性,文档将其称为[[Prototype]]。[[Prototype]]可以被认为是对对象父对象的引用。更准确地说:Thereferencetothe[parent's]prototypeobjectiscopiedtotheinternal[[Prototype]]propertyofthenewinstance.(source1)您可以使用Object.getProtot

javascript - MyClass.prototype = new Object() 和 MyClass.prototype = Object 的区别

谁能告诉我,在Javascript中,两者之间的区别在哪里MyClass.prototype=newObject();//or...={}和MyClass.prototype=Object;是?如果结果没有差异,哪一个是最佳实践方式? 最佳答案 你的前两个例子是完全等价的:MyClass.prototype=newObject();//emptyobjectMyClass.prototype={};//emptyobject您的第三个示例无效,因为您正在为MyClass.prototype分配对Object的引用构造函数,它是一个函

原型(prototype)上的 Javascript 私有(private)成员

好吧,我试图弄清楚这是否可能。这是代码:a=function(text){varb=text;if(!arguments.callee.prototype.get)arguments.callee.prototype.get=function(){returnb;}elsealert('alreadycreated!');}varc=newa("test");//createsprototypeinstanceofgettervard=newa("ojoj");//alertsalreadycreatedalert(c.get())//alertstestalert(d.get())/

JavaScript继承扩展函数

我在理解ProJavaScript设计模式中此函数末尾的IF子句时遇到一些问题:functionextend(subClass,superClass){varF=function(){};F.prototype=superClass.prototype;subClass.prototype=newF();subClass.prototype.constructor=subClass;subClass.superclass=superClass.prototype;if(superClass.prototype.constructor==Object.prototype.construc

javascript - javascript 原型(prototype)对象的实际用例是什么?

您如何在日常代码中使用javascript原型(prototype)对象?我发现很难解释或找到它的用例。目的驱动的示例和伪代码示例会很棒-谢谢! 最佳答案 这是一个非常简单的例子。如果String具有trim()函数以便您可以执行此操作,那不是很好吗?varx="ABC";vary=x.trim();//y=="ABC"嗯,它可以。只需将其放在代码的开头:if(!String.prototype.trim){String.prototype.trim=function(){try{returnthis.replace(/^\s+|\

javascript - 在 iframe 中包含 jQuery 时,Internet Explorer 9(不是早期版本或其他浏览器)出错

基本上我有一个启动了fancyboxiframe的页面。在那个iframe中,我还包含了jQuery。但是当我在InternetExplorer9中测试它时,它给了我错误Line:68\nError:'Object'isundefined`这个错误在文件jquery-1.4.1.js中,有问题的行是第二行://SaveareferencetosomecoremethodstoString=Object.prototype.toString,hasOwnProperty=Object.prototype.hasOwnProperty,push=Array.prototype.push,s

javascript - 为什么 hasOwnProperty 无法识别对象原型(prototype)上的函数?

我知道JavaScript中的hasOwnProperty方法仅用于识别当前类型的属性,但这里的原型(prototype)链中有些东西让我感到困惑。让我们想象一下,我定义了一个名为Bob的类型,并以两种不同的方式为我的Bob类型分配了两个子函数:functionBob(){this.name="Bob";this.sayGoodbye=function(){console.log("goodbye");}}Bob.prototype.sayHello=function(){console.log("hello");}现在除了在sayGoodbye的情况下可以访问闭包范围外,在我看来属于

javascript - 为什么 ES6 类语法控制台日志记录与 ES5 类语法不同?

我正在努力学习更多的ECMAScript6和更好的继承。问题当我控制台注销时bob与daisy它们不同。boblogs__proto__下的原型(prototype),并显示他的run:true;构造函数。在ES6实现中,daisy没有__proto__但是,它仍然可以访问isRunning。为什么?varMan=(function(){"usestrict";functionMan(){this.run=true}Man.prototype.isRunning=function(){console.log('yesssimmarun');};returnMan;})();varbob

javascript - 了解原型(prototype)继承

我画了下图来演示对象是如何继承的(函数构造函数标记为蓝色,从这些构造函数创建的对象标记为绿色):下面是创建这种层次结构的代码:functionFigure(){}functionRect(){}Rect.prototype=newFigure();functionSquare(){}Square.prototype=newRect();functionEllipse(){}Ellipse.prototype=newFigure();functionCircle(){}Circle.prototype=newEllipse();现在我想检查newSquare()是否继承自Rect,所以这

javascript - 创建具有不同范围的 ES6/ESNext 原型(prototype)函数(不是内联函数)

好吧,假设我们有这个:classCar{constructor(name){this.kind='Car';this.name=name;}printName(){console.log('this.name');}}我想做的是定义printName,像这样:classCar{constructor(name){this.kind='Car';this.name=name;}//wewanttodefineprintNameusingadifferentscope//thissyntaxisclose,butis*not*quitecorrectprintName:makePrintN