草庐IT

Var-dumper

全部标签

javascript - browserify-shim 在 var 范围内时不导出隐式全局变量

根据browserify-shim文档,您可以通过在package.json中使用以下语法来指定browserify-shim需要从遗留模块公开哪些全局变量:{"browserify-shim":{"legacyModule":"myVar"}}我希望可以通过require('legacyModule')和window.myVar访问遗留模块。根据我的经验,如果我尝试填充的非commonjs模块使用window.myVar=x或仅使用myVar=x,则该模块会全局公开并且可按预期通过require()获得。但是,当遗留模块使用varmyVar=x时,这就是导致问题的原因,因为该模块只能

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 - let vs var 在 nodejs 和 chrome 中的性能

当我在chrome和nodejs中测试以下代码时,我得到以下信息:Chrome:forloopwithVAR:24.058msforloopwithLET:8.402msNodeJS:forloopwithVAR:4.329msforloopwithLET:8.727ms据我了解,由于block作用域,LET在chrome中更快。但是有人可以帮我理解为什么它在NodeJS中是相反的吗?还是我遗漏了什么?"usestrict";console.time("forloopwithVAR");for(vari=0;iPS:不确定这是否不是测试性能的理想方式。 最佳

javascript - 为什么要在这个 var 声明中将这个变量赋值给它自己?

我正在阅读BenCherry的“JavaScriptModulePattern:In-Depth”,他有一些我不太理解的示例代码。在Cross-FilePrivateState标题下,有一些示例代码如下:var_private=my._private=my._private||{}这看起来和写这样的东西没什么不同:var_private=my._private||{}这里发生了什么,这两个声明有何不同? 最佳答案 var_private=my._private=my._private||{}这一行的意思是如果my._private存

Javascript - 当标识符字符串存储在 var 中时访问对象成员

我有一个非常简单的问题(和初步答案),我只是想看看是否有更好的答案。当成员标识符存储在另一个变量中时,如何在javascript中访问对象成员?示例:state='sync';messages={'sync':'asdf','ready':'asdf','complete':'asdf'};可能性:1.message=eval('messages.'+state);将消息转换为散列(在原型(prototype)或jquery中——jquery不确定)并通过框架的方法访问还有哪些方法呢?有没有更干净的?在php中,它很简单$message=$messages->$sync。我确定这个问题

javascript - 是不是写: var arr=[]; than var arr=new Array();?比较好

这个问题在这里已经有了答案:What’sthedifferencebetween"Array()"and"[]"whiledeclaringaJavaScriptarray?(19个回答)Whatisthedifferencebetween`newObject()`andobjectliteralnotation?(12个答案)CreateanemptyobjectinJavaScriptwith{}ornewObject()?(10个答案)关闭5年前。是不是写的比较好vararr=[];thenvararr=newArray();varobj={};thenvarobj=newObj

javascript - 我什么时候应该使用 `this.x` 与 `var x` ?

在创建JavaScript类函数时,我使用了this。很多。但是在使用它时,我想知道使用var是否会有所不同。varMyClass=function(){this.x=4;return{getVal:this.x};}与var的使用对比:varMyClass=function(){varx=4;return{getVal:x};}有什么区别,什么时候应该使用哪个?同样的问题适用于class语法:classMyClass{constructor(){constx=4;}}对比classMyClass{constructor(){this.x=4;}} 最佳答案

javascript - JavaScript 中的赋值和 var 关键字

我在阅读“学习Node”这本书时遇到了一个非常简单的问题,一个我没有考虑太多的问题:javascript中的赋值。作者声明我们应该意识到通过使用Node的REPL,以下将返回未定义的:vara=2(undefined)而下面的代码将在REPL中返回“2”:a=22这是为什么呢?上面的代码不是属性?怎么会?如果var'a'直到代码中的那个点才存在,为什么它不存在和归属? 最佳答案 根据ECMA-262§12.2,VariableStatement(即varidentifier=value)显式不返回任何内容。此外,VariableSt

javascript - 当 var trees = new Array ("redwood", "bay", "cedar"时 0 如何成为树的属性)

这个问题在这里已经有了答案:Accessnumericpropertiesofanobjectusingdotnotation(2个答案)关闭11个月前。我在mozilla文档中看到了这个例子,但我不明白为什么。如果0是树的属性,我原以为trees.0会返回redwood但这是一个错误的陈述。a[0]是一种访问数组0属性的方法吗?在这种情况下,a["length"]也应该有效(逻辑上)。谁能说清楚?链接:developer.mozilla.orgvartrees=newArray("redwood","bay","cedar","oak","maple");0intrees;//ret

javascript - 为什么结果不同(使用 var 与 let)?

这使用varvara=[];for(vari=0;i这使用letvara=[];for(leti=0;i我不明白为什么结果不同。有人可以指导我吗? 最佳答案 结果数组由函数组成,每个函数体如下所示:console.log(i);i的值取决于我们是使用var还是let来声明变量。var(ECMAScript5和6)这里的i是一个全局变量,退出循环后的值为10。这是记录的值。让(ECMAScript6)这里的i是一个局部变量,它的作用域被限制在for语句中。此外,这个变量在每次迭代时都会得到一个新的绑定(bind)。这最好由您的代码解释