草庐IT

strict-prototypes

全部标签

javascript - 将 ES6 插件扩展到 jQuery 原型(prototype)

我想寻求一些帮助,因为我无法使用模块和类在ES6中转换我的经典jQuery(v2)插件。在ECMAScript5中,我们可以像这样将jQuery插件附加到jQuery原型(prototype)中:app.js-通过HTML加载jQuery标签$.fn.myPlugin=function(){};$('div').myPlugin();而且有效:)。在ES6中,我会这样写:myPlugin.es6:import$from'jquery';exportdefaultclassmyPluginextends${//Couldiuseconstructor()method???}app.es6

javascript - 私有(private)和特权方法与原型(prototype)方法

在JavaScript中,我可以通过在构造函数中声明来创建私有(private)和特权方法。通过这种方式,我必须将它们移出对象的原型(prototype)。然后我失去了继承的可能性和一些性能,因为每个对象都将拥有这些方法的自己的副本,而不是访问一个原型(prototype)对象。所以我现在的问题是什么可能是petter模式:是否使用私有(private)和特权方法。我不太喜欢悬挂,所以我想避免这种情况。那怎么办呢?你的经历是什么? 最佳答案 我从未发现在JavaScript中创建所谓的“私有(private)”函数有任何值(valu

javascript - JS中原型(prototype)构造器的使用

有人可以向我解释Me.prototype.constructor=Me;的用法吗?当这段代码可以正常工作或没有它时,为什么需要它?在代码中,原型(prototype)对象是在Me对象上创建的,它被实例化并替换了旧的原型(prototype)对象。为什么我需要在放弃的代码中指向Me构造函数?functionMe(){this.name='Dejan';}functionYou(){this.name='Ivan';}Me.prototype=newYou();somebody=newMe();Me.prototype.constructor=Me;//Why?Me.prototype.f

javascript - 原型(prototype)与类

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭4年前。ImprovethisquestionSteveYegge最近发布了一个interestingblogpost在他所谓的通用设计模式上。他在那里详细介绍了使用原型(prototype)作为建模工具,而不是类。与继承相比,我喜欢这种引入更少耦合的方式。但这也是类可以实现的,通过根据其他类而不是继承来实现类。有没有其他人有使用原型(prototype)的成功案例,也许可以帮助解释与类相比使用原型(protot

javascript - jRails 与原型(prototype)

我并不是要将此作为偏好问题,我真的想知道人们使用jQuery和Rails或jRails进行开发的体验如何。到目前为止,包括我在内的大多数Rails用户都在使用Prototype。但是,我混入了很多jQuery插件,因为它们非常易于使用和扩展。我现在正在考虑为一个新的Rails项目从Prototype迁移到jQuery。但是,我喜欢原型(prototype)的力量。Protoype几乎是一种位于JS之上的新语言,而我发现jQuery就像一种很棒的脚本语言,具有大量语法糖和链接。无论如何,我们将不胜感激。 最佳答案 在Rails中,一切

javascript - 启用 JSLint 时停止 IntelliJ 11 添加 "use strict"到每个嵌套函数定义

有人知道如何阻止IntelliJ11自动添加“usestrict”到我在启用JSLint时创建的每个嵌套函数定义吗?我在外部闭包中指定了'usestrict'。 最佳答案 作为解决方法,您可以在设置(Mac上为首选项)中禁用PreferStrictmode|JavaScript(自IDEA11.1.1起可用)。请votefortheissue我们创造了。 关于javascript-启用JSLint时停止IntelliJ11添加"usestrict"到每个嵌套函数定义,我们在StackOv

javascript - 在构造函数中分配原型(prototype)

我有这个代码:varMyClass=function(b){this.a=b;this.getA=function(){returnthat.a;}}varSecondClass=function(b){this.prototype=newMyClass(b);this.getB=function(){return6;}}vara=newSecondClass(2);console.log(a.getA());输出告诉我a没有名为getA()的方法我假设在SecondClass的构造函数中执行this.prototype=newMyClass()会导致它从MyClass继承方法?我确信

javascript - ES6 做 for of get prototype values - 如何检查 hasownproperty

使用for...in我总是检查hasOwnProperty(我想这是使用Object.keys的一个很好的论据),例如:for(letainobj){if(obj.hasOwnProperty(a)){//logic}}当我使用for...of时是否需要做同样的检查?如果需要,我应该怎么做?根据MDNpageonfor...ofWhilefor...initeratesoverpropertynames,for...ofiteratesoverpropertyvalues但是它没有说明该迭代是包含继承属性还是仅包含实例属性。那里给出的解释和示例代码仅涉及实例属性。

javascript - Object.prototype.toString.call(arrayObj) 和 arrayObj.toString() 的区别

这个问题在这里已经有了答案:Why"foo".toString()isnotthesameastoString.call("foo")?(3个答案)关闭7年前。我已经阅读了一些Material,但在语法方面还没有完全掌握概念,例如:vararrObj=[1,2,3];Object.prototype.toString.call(arrObj);//Gives"[objectArray]"arrObj.toString();//Gives"1,2,3"第2行和第3行有何不同?据我所知,两者都调用了toString方法并将当前对象设置为“arrObj”。

Javascript "classes"原型(prototype) vs 内部函数声明 vs 等

我知道之前已经有人回答过这个问题,但我仍然感到困惑(这不完全是我的错,因为我注意到答案可能完全不同)。我有Java背景,所以如果你能将任何东西定义为静态、私有(private)、公共(public)等,那应该有助于我理解。基本上我想制作一个完全自定义的类,但不确定原型(prototype)/等。示例(使用一种函数类型):functionmyClass(){vara;varb;varhelper=function(){this.a+=this.b;}varhelper2=function(a,b){return(a+b);}vargetA=function(){return(this.a