草庐IT

new_class

全部标签

javascript - 为什么 new Number(2) != new String ("2") 在 JavaScript 中

以下评估为true:newNumber(2)==2newString("2")=="2"很明显,但请执行以下操作:"2"==2newNumber(2)=="2"newString("2")==2那么有人可以清楚地解释为什么他下面的评估是false吗?newNumber(2)==newString("2") 最佳答案 因为JavaScript具有数字和字符串(和bool值)的原始和对象版本。newNumber和newString创建object版本,当您将==与对象引用一起使用时,您比较对象引用,而不是值。newString(x)和S

javascript - 是不是写: var arr=[]; than var arr=new Array();?比较好

这个问题在这里已经有了答案:What’sthedifferencebetween"Array()"and"[]"whiledeclaringaJavaScriptarray?(19个回答)Whatisthedifferencebetween`newObject()`andobjectliteralnotation?(12个答案)CreateanemptyobjectinJavaScriptwith{}ornewObject()?(10个答案)关闭5年前。是不是写的比较好vararr=[];thenvararr=newArray();varobj={};thenvarobj=newObj

javascript - 为什么这样 "this.foo = new (function () {..})();"与 "this.foo = function (){...};"

两者在函数定义和赋值上有什么区别吗?this.foo=new(function(){..})();对比this.foo=function(){...}; 最佳答案 在第一个示例中,它正在创建一个函数并执行它,将结果分配给this.foo。在第二个示例中,它正在创建函数并将函数本身分配给this.foo。 关于javascript-为什么这样"this.foo=new(function(){..})();"与"this.foo=function(){...};",我们在StackOverf

javascript - "new"在 JavaScript 中仍然不推荐吗?

所以我看到很多JavaScript代码在创建构造函数时使用“new”。在阅读了部分JavaScript的GoodParts之后,似乎使用"new"并不是猫的睡衣。那是4年前的事了……现在还不推荐吗?目前的标准是什么? 最佳答案 new从什么时候开始不推荐了?D.Crockford有一个有效的观点和强烈的意见,但new是语言的一部分,并且在许多项目中得到了广泛使用。new是原型(prototype)继承模型的一部分,必须用于通过构造函数创建新实例。Crockford指出了一种纯函数式方法,它适本地使用this上下文并returnthi

javascript - 在构造函数中包装 new 是好是坏?

我看了JohnResig的BestPracticesinJavaScriptLibraryDesign推介会;一张幻灯片建议“调整”对象构造函数,使其实例化自身。functionjQuery(str,con){if(window===this){returnnewjQuery(str,con);}//...}这样,newjQuery("#foo")就变成了jQuery("#foo")。我认为这很有趣,但我没有在自己的代码中编写过这样的构造函数。不久之后,我在这里阅读了一篇关于SO的帖子。(抱歉,我不记得是哪一个或者我会提供链接。如果我能再次找到它,我会更新问题。)其中一条评论说隐藏ne

javascript - 不理解在 Javascript 中使用 new 关键字

下面的代码片段来自O'Reilly的“JavascriptWebApplications”。在其中,作者解释说,使用new关键字通常会返回一个this上下文,除非您特别返回其他内容——在下面,他正在返回一个函数,该函数将设置一个新类(class)”,用他的话来说(第7页):varClass=function(){varklass=function(){this.init.apply(this,arguments);};klass.prototype.init=function(){};returnklass;};varPerson=newClass;Person.prototype.i

javascript - 不要用 new Constructor 创建对象

是否可以选择不在构造函数中创建具有特定条件的对象,例如functionMonster(name,hp){if(hp 最佳答案 我认为你应该做的是抛出一个异常。functionMonster(name,hp){if(hp 关于javascript-不要用newConstructor创建对象,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/15355908/

javascript - CLASS 中的自定义事件

我需要从CLASS启动自定义事件。我知道用DOM对象和jquery做这个,使用triggerHandler,比如$(object)..triggerHandler("inputChange",{param:X});问题是当我用一个类尝试这个时,像这样:varMyClass=(function(){varstatic_var=1;varMyClass=function(){varprivateVar;varprivateFn=function(){alert('Imprivate!');};this.someProperty=5;this.someFunction=function(){

javascript - 当 var trees = new Array ("redwood", "bay", "cedar"时 0 如何成为树的属性)

这个问题在这里已经有了答案:Accessnumericpropertiesofanobjectusingdotnotation(2个答案)关闭11个月前。我在mozilla文档中看到了这个例子,但我不明白为什么。如果0是树的属性,我原以为trees.0会返回redwood但这是一个错误的陈述。a[0]是一种访问数组0属性的方法吗?在这种情况下,a["length"]也应该有效(逻辑上)。谁能说清楚?链接:developer.mozilla.orgvartrees=newArray("redwood","bay","cedar","oak","maple");0intrees;//ret

javascript - 如何检查某些东西是否在 ng-class 的数组中

我想做这样的事情:varlist=[1,2,3,4,5]if(2inlist){returntrue}来自ng-class,所以我尝试了:ng-class="this.idinlist?'class-1':'class-2'">但是没有用,抛出错误SyntaxError:Token'in'isanunexpectedtokenat... 最佳答案 对于数组,您将使用indexOf,而不是用于对象的inif(list.indexOf(this.id)!==-1){...}所以ng-class="{'class-1':list.inde