草庐IT

Var_dump

全部标签

javascript - 什么时候使用 var?

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:JavaScriptVariableScope我的理解是,如果我在函数中使用var,那么我就有了一个局部变量。如果我不delcarevar我现在有一个全局变量。但是函数的outstide呢,var有什么作用呢?

javascript - 为什么 for(var i in Math) 不遍历 Math.* 在 Javascript 中?

由于某些原因(数学中的vari){console.log(i)}没有在Javascript中显示预期的tan、cos、atan2、E、PI。 最佳答案 因为Math是一个内置对象,其属性被标记为不可枚举。许多内置对象都有这种行为,这就是为什么在使用用户函数扩展Array.prototype之前,使用for..in遍历数组不会给您带来问题,这默认情况下始终是可枚举的。直到最近,不可枚举还是一种内部属性,无法通过常规J​​avascript代码访问。但是EMCAScript5指定了通过Object.defineProperty()设置任

javascript - 单行 'var' 声明,还是每行一个?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。我在看道格拉斯克罗克福德的CodeConventionsforJavaScript文档,他说var应该按字母顺序排列,并且每行一个。vara;//arrayofclassnamesvarc=node.className;//thenode'sclassnamevari;//loopcounter然而,jsLint(和jsHint)标准是在一行中声明它们,

像 "var foo = function bar() ..."这样的 Javascript 函数?

代码是这样的(语法可能看起来很奇怪,但据我所知,它没有任何问题。或者有什么问题?)varadd=functionaddNums(a,b){returna+b;}alert("add:"+add(2,3));//produces5alert("addNums:"+addNums(2,3));//shouldalsoproduce5addNums()被声明为一个函数。所以,当我将参数传递给它时,它也应该返回结果。那么,为什么我没有收到第二个警告框? 最佳答案 您看到的是namedfunctionexpression(NFE).匿名函数表

for循环中的javascript 'let'和 'var'

在我搜索具体数字以支持在Javascript中使用const关键字时,我偶然发现了所有三种变量声明类型var、let和const之间的性能比较。我不喜欢测试设置,所以我创建了asimplifiedone.我没想到会有太大差异,Firefox达到了我的预期:但是在Chromium中发生了一些奇怪的事情:不仅所有测试结果都显着降低,而且let循环内部分解为速度的一小部分。我决定在Browserstack中运行测试,以确保它不是我古怪的Linux设置。同样的情况也发生在Windows10上的Firefox53和Chrome58上。我什至测试了稍旧的Chrome50并得到了相同的行为。这是怎么

javascript - Array(5) 是否等同于 var a = []; a.长度=5;在 JS 中?

我在JS中看到四个五个将数组初始化为特定长度的选项,(我知道最后一个是拉伸(stretch)):vara=[];a.length=5;vara=Array(5);vara=[];a[4]=undefined;vara=newArray(5);functionmakeArrayToLength(length,default){vara=[],i=0;for(;i我绝对希望(并且确实)尽可能使用文字,但我所处的情况是特定数组的定义方面是它的长度,所以我倾向于Array(5)。就最终结果而言,第一个示例是否等同于第二个示例?我意识到这在执行上是不等价的。 最佳答案

javascript - 在 Javascript 中为循环声明声明 var

我确定我已经阅读了有关SO的讨论,但找不到它。简单地说,在循环声明中声明for循环的增量是否有缺点?这有什么区别:functionfoo(){for(vari=0;i...还有这个:functionfoo(){vari;for(i=0;i既然JS有函数作用域,那应该没问题吧?是否存在前一种方法会导致问题的边缘情况?如果它们是相同的,为什么Crockford/JSLint都是“不可能的”? 最佳答案 这些是完全一样的。javascript中的所有局部变量都具有函数作用域,这意味着它们在声明它们的整个函数中都是有效的。一开始这通常是违反

javascript - "var"在 JavaScript 中有什么作用?为什么有时它是作业的一部分?

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:DifferencebetweenusingvarandnotusingvarinJavaScriptvarfoo=1;foo=1;上面两行有什么区别?

javascript - 在 JavaScript/jQuery 中用多行声明一个字符串 var

我如何在jquery中用多行声明一个变量,例如,原始变量:varh='HelloWorld,Welcometothehotel';我要声明的变量:varh='HelloWorld,Welcometothehotel'; 最佳答案 可以使用\来表示该行还没有结束。varh='HelloWorld,Welcometothehotel\\';注意:当你使用\时,下一行的空格也会成为字符串的一部分,像这样console.log(h);输出HelloWorld,Welcometothehotel最好的方法是使用Mr.Alien在评论区推荐的方

javascript - JavaScript 中的 var thing 和 function thing() 有什么区别?

我只是想知道以下JavaScript对象声明之间的区别。具体来说,thingobjectliteral和thingclass中的thing1object之间的区别。代码:varthing={sanity:0,init:function(){//code},send:function(){//code}}functionthing(){this.sanity=0;this.init=function(){//code};this.send=function(){//code};}thing1=newthing(); 最佳答案 静态对象