jjzjj

私有(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 - 如何在 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

javascript - ES5 有对应的 __lookupGetter__ 吗?

我知道Object.defineProperty很有趣,可以很好地替代__defineGetter__和__defineSetter__非标准API,但是是否有类似的对应物对于__lookupGetter__?或者以某种方式实现类似的目标? 最佳答案 我不确定__lookupGetter__语义,但ES5提供了一个新的APIObject.getOwnPropertyDescriptor,它为您提供了一个包含属性属性及其属性的描述符对象value或其get和/或set函数。例如。Object.getOwnPropertyDescrip

javascript - 读取前设置未定义的 javascript 属性

vartr={};tr.SomeThing='SomeThingElse';console.log(tr.SomeThing);//SomeThingElseconsole.log(tr.Other);//undefinedtr.get=function(what){if(tr.hasOwnProperty(what))returntr[what];elsereturnwhat;};tr.get('SomeThing')//SomeThingElsetr.get('Other')//Other有什么方法可以让tr.Other或tr['Other']和对象的所有其他未定义属性返回其名称而

javascript - 如何访问子类中 getter 的父类(super class)值?

在派生类中访问getter的super值似乎不起作用:classFoo{private_message:string="Hello,";publicgetMessage():string{returnthis._message;}}classBarextendsFoo{publicgetMessage():string{returnsuper.Message+"World";}}varsnafu:Bar=newBar();document.write(snafu.Message);//Expected:"Hello,World"//Actual:"undefinedWorld"如何正确

javascript - 为什么 "setter is defined without getter"是 JSHint 错误?

引用jsfiddlevarobj={setbla(k){console.log(k);}};JSHint将此标记为“setter是在没有getter的情况下定义的”。我确信有办法关闭它,但为什么这是一个错误呢?我所看到的所有JSHint标志都有一个合理的解释。我想不出这是一件坏事的原因。 最佳答案 我认为JSHint没有充分的理由对这种情况发出警告。我在规范(http://www.ecma-international.org/publications/standards/Ecma-262.htm,第30-31页)中没有看到任何内容要