草庐IT

Getter-Setter

全部标签

javascript - 在对象初始值设定项中设置属性时不再调用 setter : what does this mean?

在此JSMDN页面是这样写的:JavaScript1.8.1noteStartinginJavaScript1.8.1,settersarenolongercalledwhensettingpropertiesinobjectandarrayinitializers.我只是不明白这是要告诉我什么。 最佳答案 此代码片段:varo={};o.seven=7;和这个代码片段:varo={seven:7};通常是等价的;但如果它们前面有这段代码片段:Object.prototype.__defineSetter__('seven',fun

javascript - 未捕获的类型错误 : Cannot set property offsetWidth of#<HTMLElement> which has only a getter

我正在使用AngularJS开发网络应用程序。我有一个不知从何而来的错误,它工作正常,但我真的不知道为什么它不再工作了。所以它在指令中,我尝试设置属性offsetWidth指令html模板中的一个元素。因为我真的不知道它可能来自哪里,所以我会给你我的指令和模板的完整代码。该指令创建一个应用程序按钮并处理其点击时的视觉效果。这是行$element[0].offsetWidth=$element[0].offsetWidth;这会触发错误。(这是重启动画的技巧)我再说一遍,这段代码工作正常而且我几乎可以肯定我没有做任何更改。我正在使用Chrome进行调试,也许它来自于它?错误:Uncaug

javascript - 未捕获的语法错误 : Setter must have exactly one formal parameter

我试图理解JS上的getter和setter,但我似乎无法通过此错误。任何人都可以提供关于为什么我会收到此错误的任何见解吗?varbook={year:2004,edition:1,getnewYear(){return"Hello,it's"+this.year;},setnewYear(y,e){this.year=y;this.edition=e;}};UncaughtSyntaxError:Settermusthaveexactlyoneformalparameter 最佳答案 当您分配setter代表的值时调用setter

私有(private)属性的 Javascript 动态 getter/setter

我想动态地创建getter/setter方法来检索私有(private)属性。这是我做的。首先,我制作了这个类:functionwinClass(posX,posY,w,h){varx=posX||0;vary=posY||0;varwidth=w||0;varheight=h||0;}然后我用getter/setter方法扩展了winClass,如下:winClass.prototype.getX=function(){returnx;}winClass.prototype.setX=function(val){x=val;}然后我测试了:varwin1=newwinClass(10

javascript - 在 JavaScript 对象中实现 setter 和 getter

我想在本地实现setter和getterjavascript变量。这是一个示例函数:functionsomeThing(){varsomeLocalvariable='';}//withthisfunctionIwantto//returnvalueofsomeLocalvariable//alsoifitispossibletoimplement//setterinthisway.someThing.prototype.getLocalVar=function(){}我希望变量“真正”私有(private)。我不会使用这样的东西:someThing.prototype.someLoc

JavaScript getter/setter 和扩展对象

我正在研究JavaScript中的getter和setter,以及它们与用于扩展对象的扩展函数(如jQuery的$.extend和Underscore的_.extend)配合得如何。代码设置如下:vartest={getsize(){returnthis._size;},setsize(val){this._size=val;},}test.size="LARGE";console.log(test.size);//$.extend(test,{getsize(){return"MEDIUM";}});_.extend(test,{getsize(){return"MEDIUM";}}

javascript - 在构造函数中定义get/set

这可以做到:varo={_foo:"bar",getFoo(){return_foo;},setFoo(value){_foo=value;}};但是我的代码是在构造函数中定义的,所以我想要这样的东西:functionSomething(defaultFoo){var_foo=defaultFoo;getFoo(){return_foo;};//invalidsyntaxsetFoo(value){_foo=value;};//invalidsyntax}varsomething=newSomething("bar");console.log(something.Foo);该语法无效。

javascript - 如何在 vuex 模块中定义 getter?

我正在尝试改进vuex模块但出现以下错误:UncaughtError:[vuex]gettersshouldbefunctionbut"getters.getComments"inmodule"comments"is[]./stores/comments.js(模块)importVuefrom'vue';importVuexfrom'vuex';Vue.use(Vuex);conststate={comments: []}constgetters={getComments:state=>state.comments}constmutations={setComments(state,c

javascript - 将参数传递给 Vuex 中的 getter

我有一个这样的Vue组件:import{mapActions,mapGetters}from'vuex'exportdefault{props:['index'],computed:{...mapGetters(['type','width','height','description','smtTagMeasureUnits','tagValue'])}{{description(index)}}{{tagValue(index)}}{{smtTagMeasureUnits(index)}}...作为prop进入组件的参数index已成功传递给getters:getters:{...

javascript - 动态 getter 和 setter - 一种可能性

我正在尝试解决最近想到的一个问题。假设我们想要并且知道如何在javascript中使用动态getter和setter,更像是php中的那些(__get,__set)。但是由于javascript没有包罗万象的属性,我们唯一能做的就是提供一个可能的键列表并迭代以仅在这些键上添加getter和setter,并希望没有其他人会出现。但问题远未解决。所以我想到的下一个方法是使用带有try和catch的讨厌的hack,所以任何时候在对象中未定义的名称都可以使用catch作为getter(至少),然后恢复代码,这是一件困难且可能毫无意义的事情。但是从这里出现了我的第二个问题,在这样的用途中:con