草庐IT

name_getter

全部标签

javascript - `if __name__ == ' __main__ '` 相当于 javascript es6 模块

是否可以检查JavaScript文件是直接运行还是需要作为es6模块导入的一部分。例如包含一个主脚本。//main.jsimport'./other';if(mainTest){console.log('Thisshouldrun');}导入依赖项。//other.jsif(mainTest){console.log('Thisshouldneverrun');}包括应导致来自main.js的控制台消息但不是other.js。我找到了answertothisquestionwithregardstonode,但我特别对es6导入感兴趣 最佳答案

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 - 在 "var new_function = function name(){};"中用 javascript 定义函数名有什么好处吗?

当我运行一个程序来更改我的javascript代码的某些部分时,它在将var声明为函数时出现错误,如下所示:varsome_function=functionname(args){//dostuff};代码本身有效,但我只是想知道是否可以删除我发现的所有函数的“名称”(因为它不会在分析我的javascript的其他问题中破坏它)或者它是否可以它可能有我看不到的任何用途。删除“名称”:varnew_function=function(){/*dostuff*/};注意:它第一次出现的原始文件在jquery-1.6.4.js中在:jQuerySub.fn.init=functioninit

javascript - 获取 'named' 数组的长度?

这个问题在这里已经有了答案:LengthofaJavaScriptobject(43个回答)关闭9年前。我不确定它们叫什么,但我的意思是:array["water"]=50;array["fire"]=30;这里的长度应该是2如何查看数组中有多少个属性?array.length不起作用=(我一直在尝试各种事情,我觉得我在这里错过了一些非常简单的东西..谢谢你的帮助

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 对象文字 : Property names as strings vs. "raw"

有没有区别:varx={hello:'world'};和varx={'hello':'world'};?也就是说,在什么情况下,将属性名称作为字符串给出与将其作为“原始”名称给出会产生不同的结果?例如,我知道varx={};x['@£$%']='bling!';是有效的(因为任何字符串都可以是属性),但是x.@£$%='bling!'不会工作。语言关键字或保留关键字也不会作为属性名称(因此varx={for:'good',class:'y'};将不起作用。还有什么吗?例如,如果varhello='goodbye';是在上面的例子中定义的吗?或者其他的,比如functionhello()

javascript - 我可以使用 constructor.name 来检测 JavaScript 中的类型吗

我可以使用“constructor”属性来检测JavaScript中的类型吗?或者有什么我应该知道的。例如:vara={};a.构造函数名称;//输出“对象”或varb=1;b.构造函数名称;//输出“数字”或vard=newDate();d.构造函数名称;//输出“日期”而不是对象或varf=newFunction();f.构造函数名称;//输出“函数”而不是对象只有在参数上使用它时arguments.constructor.name;//像第一个例子一样输出对象我经常看到开发人员使用:Object.prototype.toString.call([])或Object.prototy

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

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

javascript - 在angular2中使用窗口对象但vscode "Cannot find name '窗口'“

我用VisualStudio代码编写了一个angular2应用程序。最近,我将VisualStudioCode更新到了1.10.2。但它已将window突出显示为有错误。当我检查它时,我发现它说:[ts]Cannotfindname'window'.我的代码如下:saveCustomIndex(customIndex:any,indexName:string){window.localStorage.setItem(indexName,JSON.stringify(customIndex));}截图我该如何处理?谢谢! 最佳答案 在