草庐IT

strict-prototypes

全部标签

javascript - 函数对象原型(prototype)

这个问题在这里已经有了答案:HowdoesJavaScript.prototypework?(26个答案)关闭7年前。functionfuncObj(){}funcObj.prototype.greet="hello";console.log(funcObj.greet)//undefined???console.log(funcObj.prototype.greet)//hellovarobj=newfuncObj();console.log(obj.greet);//hello根据我对原型(prototype)的理解。如果您访问一个对象的成员,它将在该对象中不可用时从原型(prot

javascript - YUI Compressor 和 "use strict"提示

我一直在使用YUICompressor压缩JS文件。我有这段代码:(function(global){"usestrict";varX=1;/***mycodehere***/}(window));然后我用这个命令压缩它:$>java-jaryuicompressor-2.4.7.jartest.js-otest.min.js--verbose压缩输出文件中不存在“usestrict”提示。YUI似乎删除了所有提示。并输出此警告:[WARNING]Invalidhintsyntax:usestrict(function(global){--->"usestrict"虽然我的代码在压缩后

javascript - 如果我们创建新的原型(prototype)属性,对象会改变它的隐藏类吗?

在V8中,对象更改其hiddenclass添加新属性时。functionPoint(x,y){this.x=x;//Thiswillcreatenewhiddenclassthis.y=y;//Thistoo}我的问题很简单,这会创建一个新的隐藏类吗?Point.prototype.z=null;我问这个问题是因为在我读过的编码风格指南中,他们说我们应该通过创建原型(prototype)来声明类属性,而不是在构造函数中分配它们。这也将帮助我们轻松地使用JSDoc记录它们。非常感谢。 最佳答案 答案是是:将创建一个新的隐藏类。然而,重

javascript - 我是否正确理解了这个 Function.prototype.call() 代码?

代码:varcontent=Array.prototype.map.call(document.getElementsByTagName("p"),function(e){returne.innerHTML;});来自p.367ofJavaScript:权威指南,第6版。这是我认为这段代码中发生的事情。变量content正在分配.map()的结果调用NodeListdocument.getElementsByTagName("p")返回的段落标签数量..map()方法是从Array.prototype访问的,及其this值设置为段落标记NodeList使用.call().自.map()

javascript - 动物的基本 JavaScript 原型(prototype)和继承示例

我试图通过非常简单的示例来掌握JavaScript的OOP。我的目标是创建一个以Animals为例的类层次结构。在简化的动物层次结构中,我们可能会看到这样的东西:Animal/\MammalReptile/\/\HumanDogSnakeAlligator我想拿这个例子在JavaScript中创建类。这是我的尝试。我该怎么做才能让它变得更好?functionAnimal(name){this.name=name;}functionMammal(){this.hasHair=true;this.numEyes=2;this.blood="warm";}functionDog(breed)

javascript - JavaScript 原型(prototype)的好处

我一直想知道JavaScript的原型(prototype)性质及其好处,并归结为以下列表:1)继承cat.prototype=animal2)内存效率a.prototype.b=function(){}vara1=newa();vara2=newa();那么a1.b和a2.b本质上是同一个对象,其中as:vara=function(){this.b=function(){};}vara1=newa();vara2=newa();a1.b和a2.b是不同的函数对象,会占用更多的内存。3)向多个已创建的“野外”对象添加方法/字段。vara=function(){}vara1=newa()

javascript - 原型(prototype)继承的真实例子是什么?

这个问题在这里已经有了答案:DoessomeJavaScriptlibraryusedynamicaspectsoftheprototypesystem?(3个答案)关闭8年前。我正在尝试提高JavaScript的水平(我在工作中用得不多),并且已经很好地了解构造函数以及如何实例化从它们继承属性的新对象。但通常要真正学到一些东西,我需要在我正在从事的真实项目中使用它,并在实际中看到它。问题是,我正在阅读的所有内容都使用像这样的示例来解释继承:functionApple(type){this.type=type;this.color="red";this.getInfo=getApple

JavaScript:在不使用 new + Constructor 的情况下基于原型(prototype)创建对象

这可能吗?我的想法:原型(prototype)本质上是构造函数的属性(无论是原生构造函数,如Function、String或Object,还是您自己的自定义构造函数),只有“new”关键字能够利用构造函数及其对象原型(prototype)创作我错过了什么吗? 最佳答案 你是对的,但是现在在ECMAScript第5版中,Object.create方法能够使用另一个对象作为原型(prototype)来创建对象实例:varproto={foo:1};varobj=Object.create(proto);在上面的示例中,obj将被创建,它

javascript - 定义 Javascript 原型(prototype)

以下两个Javascript原型(prototype)之间的功能差异是什么?选择一个比另一个有什么好处?选项1:Person.prototype.sayName=function(name){alert(name);}选项2:Person.prototype={sayName:function(name){alert(name);}}我假设选项2导致销毁某些隐式绑定(bind)到原型(prototype)的函数是否正确? 最佳答案 AmIcorrectinassumingthatOption2resultsintrashingcer

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的引用构造函数,它是一个函