草庐IT

object_class

全部标签

javascript - Object.prototype 的 UserScript 问题

我正在开发一个UserScript,我认为为对象创建2个原型(prototype)函数会节省更多时间。Object.prototype.Count=function(){varsize=0,key;for(keyinthis){if(this.hasOwnProperty(key)){size++;}}returnsize;};Object.prototype.GetEntry=function(index){varsize=0,key;for(keyinthis){if(this.hasOwnProperty(key)){if(size==index)returnthis[key];

javascript - 了解 Crockford 的 Object.create shim

我一直在阅读关于防止覆盖原型(prototype)的Crockford垫片的资料,并且了解到它有时并不是万能的解决方案。我也明白ES5Shim可能是一个可行的替代方案。我还读了thispostwhichprovidesamorerobust,securealternative.不过,我还是想知道他的Object.createshim在“说”什么然后“做”什么。有人可以告诉我我的解释评论是否正确吗?if(typeofObject.create==='undefined'){//Ifthebrowserdoesn'tsupportObject.createObject.create=fun

javascript - ES6 : Applying function as class method

我正在将一个项目从CoffeeScript迁移到ES6(使用6to5和Browserify),并且遇到了可能的限制或者我可能只是不知道正确的语法。在CoffeeScript中我可以这样做:classSomeViewextendsBaseViewtriggerMethod:Marionette.triggerMethod如何在ES6类中表达这一点?我尝试了几件事,但无论我尝试什么,它都会抛出Unexpectedtoken错误。这例如:let{triggerMethod}=Marionette;classSomeViewextendsBaseView{triggerMethod,//doe

javascript - 了解使用 'Object.create()' 而不是 'new' 关键字创建原型(prototype)对象

我找到了包含这些行的代码vardata=function(){functionMetadata(){/*someinitializationhere*/}Metadata.prototype=Object.create(Backend.prototype);Metadata.prototype.constructor=Metadata;returnMetadata;}我很难理解到底发生了什么,以及如何使用返回的对象。如果我理解正确,data现在将是一个应该像这样初始化的对象vard=newdata()但我不明白以下几行以及为什么使用Object.create()而不是new关键字:Me

javascript - 在 ES6 中获取父类(super class)名称

我有一个类,还有一个扩展该类的类。classShape{constructor(){returnthis;}}classCircleextendsShape{constructor(){super();returnthis;}}letfoo=newCircle();我可以得到foo的类letclassName=foo.constructor.name//returnsstring'Circle'是否有可能以类似的方式获取foo的父类(superclass)('Shape')的名称? 最佳答案 Object.getPrototypeO

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 - react .createElement : type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: object

预计我应该能够导出我的App组件文件并将其导入到我的index.js中。结果出现以下错误React.createElement:typeisinvalid--expectedastring(forbuilt-incomponents)oraclass/function(forcompositecomponents)butgot:object我的index.jsconstReact=require('react');constReactDOM=require('react-dom');constApp=require('./components/App');require('./inde

javascript - ng-class 不会触发自定义指令

我目前正在开发slidemenudirective对于AngularJS。javascript由三种类型的指令组成:每种类型的滑动菜单的指令(为简洁起见,我只包括左侧滑动菜单),一个用于屏幕其余部分的包装器指令,asmWrapper,以及一个控制按钮指令,asmControl。目前,所有这些指令都使用服务asmService进行通信。当用户单击asmControl时,该指令的Controller调用asmService上的一个方法来确定触发了哪个菜单,并在$rootScope上发出“asmEvent”。asmSlidingMenu的Controller将捕获该事件并更新其范围内的事件变

Javascript : get all the object where id is like log_XXXX

我需要获取ID与特定模式匹配的所有对象。我该怎么做?谢谢! 最佳答案 当前浏览器://DOMcollectionasproperarrayconstmatches=Array.from(document.querySelectorAll('[id^=log_]'));旧版浏览器:(IE9+)//UseArray.prototype.slicetoturntheDOMcollectionintoaproperarrayvarmatches=[].slice.call(document.querySelectorAll('[id^=lo

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