草庐IT

拷贝构造

全部标签

javascript - typescript 覆盖构造函数中的扩展属性

我在使用Typescript时遇到问题,我扩展了一个类并从父类(superclass)覆盖了一个属性,但是当我实例化子类时,父类(superclass)属性仍然在构造函数中读取。请看下面的例子:classPerson{publictype:string='GenericPerson';publicconstructor(){console.log(this.type);}}classClownextendsPerson{publictype:string='ScaryClown';}varperson=newPerson(),//'GenericPerson'clown=newClow

javascript - 构造函数调用绑定(bind)函数的代理

假设我有一个函数Foo,我希望从它构造的对象有一个bar属性:functionFoo(){}Foo.prototype.bar='baz'console.log('newFoo().bar:'+newFoo().bar)newFoo().bar:baz现在假设我bindFoo以某种方式。绑定(bind)函数仍然可以在构造函数调用中使用,绑定(bind)的this将被忽略:constBound=Foo.bind(42)console.log('newBound().bar:'+newBound().bar)newBound().bar:bazProxies应该是一般和透明的。然而……co

javascript - 将 object.constructor 与其构造函数和 instanceof 进行比较有什么区别?

这个问题在这里已经有了答案:What'sthedifferencebetweenusinginstanceofandcheckingtheconstructor?(2个答案)Differencebetweeninstanceofandconstructorproperty(2个答案)关闭4年前。假设我有一个Dog构造函数functionDog(name){this.name=name;}我有一个构造函数的实例constmyDog=newDog('Charlie');据我最近了解到,有两种方法可以检查myDog是否是Dog的实例:1.console.log(myDoginstanceof

javascript - 为什么 jQuery 构造函数映射到 jQuery.fn.init?

这个问题在这里已经有了答案:WhyistheinitfunctioninjQuery.prototypeandnotinjQuery'sclosure?(1个回答)JQuerysourcecodequestions(2个答案)关闭9年前。jQuery构造函数将其功能映射到另一个构造函数,jQuery.fn.init:jQuery=function(selector,context){returnnewjQuery.fn.init(selector,context,rootjQuery);},我想知道为什么。Thisquestionisverysimilar,buteventheansw

javascript - 使用 Date 对象调用 Date 构造函数

Date的JS文档声称有四种方法可以使用Date构造函数。来自https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date:newDate();newDate(value);//integernewDate(dateString);//stringnewDate(year,month[,day[,hour[,minutes[,seconds[,milliseconds]]]]]);但是,似乎还有第五种使用构造函数的方法,即传递一个有效的日期对象。例如,以下在chrome控制台中

javascript - fabric.Canvas 不是构造函数

我像这样包含了织物:但是当我这样使用它时:varcanvas;functioninitSketchPad(){canvas=newfabric.Canvas('sketch-pad',{isDrawingMode:true});}我明白了UncaughtTypeError:fabric.Canvasisnotaconstructor 最佳答案 我不确定您的fabric_freedrawing.js文件中有什么,但将您的代码添加到下面的代码片段似乎工作正常。varcanvas;functioninitSketchPad(){canva

javascript - 有没有可能在调用构造函数之前就知道 'this'这个对象呢?

在ES6类之前,函数可以用作构造函数:functionMyClass(a,b){}那么,下面的代码就相当于一个经典的实例化(比如letthisObj=newMyClass("A","B")):letthisObj=Object.create(MyClass.prototype)//Hereweknowthe`this`objectbeforetocalltheconstructor.//Then,theconstructoriscalledmanually:MyClass.call(thisObj,"A","B")...这种技术是一种在调用构造函数之前了解this对象的方法。但是Fun

javascript - 从javascript中的构造函数显式返回值

http://ejohn.org/blog/building-a-javascript-library/在上面的链接中,如果调用者最初忘记了,JohnResig建议在构造函数中调用并返回newfoo。这对我来说有些道理,但后来我得到了一个严格的错误,因为我的构造函数并不“总是”返回一个值。在对javascript中的构造函数有了一点了解后,我不再返回this,因为new会自动返回。我的问题是,我应该...不使用描述的防御技术?在我的构造函数结束时返回它?我不知道的神秘选项? 最佳答案 返回this是没有意义的,因为如果调用者忘记添加

javascript - 什么样的构造会在 Javascript 中使用注释分隔符 */?

来自"Javascript:theGoodParts":theGoodParts:Avoid/*…*/forcomments,*/appearsinusefulconstructsinjavascript.Use//.我很好奇这些“有用的构造”可能是什么,因为我想不出任何OTOH(除了像/.*/这样的正则表达式?) 最佳答案 博主试图缩写Crockford在JavaScript:好的部分,第2章(语法)中写的内容。本主题出现在第一部分(空白)的最后一段。它说,The/**/formofblockcommentscamefromala

javascript - 调用通过构造函数传入的函数时,我可以避免在 Typescript 中使用单词 "this"吗?

我有:classAdminHomeController{privateconfig1;//Itrieddifferentvariationsherebutnoneworkedpublicconfig2;//constructor(private$scope:IAdminHomeControllerScope){this.config=$scope.config;//{this.config.clear();};}此代码有效,this.config具有我需要的所有方法。但是有没有办法我可以删除对this的需要吗?我希望能够编写以下代码:configChanged=(clear)=>{co