草庐IT

test_var

全部标签

javascript - 在 JavaScript 中对同一个变量多次使用 var 是否有缺点

在问我的问题之前,让我声明一下。我知道var的作用,我知道block作用域,我知道变量提升。我不是在寻找有关这些主题的答案。我只是想知道在一个函数中多次对同一变量使用变量声明是否会产生功能、内存或性能成本。这是一个例子:functionfoo(){vari=0;while(i++前面的代码可以很容易地用顶部声明的j变量编写:functionfoo(){vari=0,j;while(i++我想知道这两种方法之间是否存在任何实际差异。换句话说,var关键字除了建立作用域之外还有其他作用吗?我听说更喜欢第二种方法的原因:第一种方法在实际上功能范围。变量声明被提升到范围的顶部,因此应该在此处定

javascript - JavaScript test() 是否在正则表达式中保存状态?

这个问题在这里已经有了答案:WhydoesaRegExpwithglobalflaggivewrongresults?(7个答案)关闭7年前。打开浏览器控制台并执行以下代码:varfoo=/foo/g;然后,foo.test("foo")//true然后,foo.test("foo")//false如果您继续执行foo.test("foo"),您将看到交替出现的true/false响应,就好像varfoo实际上正在被修改一样。有人知道为什么会这样吗?

javascript - 为什么连续调用 `pattern.test(name)` 结果相反

这个问题在这里已经有了答案:WhydoesaRegExpwithglobalflaggivewrongresults?(7个答案)关闭7年前。为什么这段代码先返回true,然后返回falsevarpattern=newRegExp("mstea",'gi'),name="AmandaOlmstead";console.log('1',pattern.test(name));console.log('1',pattern.test(name));演示:Fiddle

带有 'var' 和没有 'var' 的 javascript 全局变量

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:DifferencebetweenusingvarandnotusingvarinJavaScript我知道我应该始终使用“var”来定义函数中的局部变量。当我定义一个全局函数时,使用'var'有什么区别?我在网上看到的一些代码示例使用varglobalVar=something;globalVar=something;有什么区别?

javascript - Window vs Var 声明变量

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:DifferencebetweenusingvarandnotusingvarinJavaScriptShouldIusewindow.variableorvar?我见过两种在javascript中声明类的方法。喜欢window.ABC=....或varABC=....在使用类/变量方面有什么不同吗?

Javascript 正则表达式.test() "Uncaught TypeError: undefined is not a function"

只是尝试通过.test()函数使用javascript的正则表达式功能。varnameRegex='/^[a-zA-Z0-9_]{6,20}$/';if(nameRegex.test($('#username').val())){...}错误在这一行if(nameRegex.test($('#username').val())){调试器在那里中断并说“UncaughtTypeError:undefinedisnotafunction”。好像.test()没有定义?不应该吗? 最佳答案 就目前而言,nameRegex不是正则表达式而是

javascript - 如何在 setTimeout 调用中解决 Var 超出范围的问题

我正在尝试从setInterval回调中调用setTimeout:functioncallback(){//assignmyVarvarmyVar=document.getElementById("givenID");//...//nowwait2secsthencallsomecodethatusesmyVArsetTimeout("myVar.innerHTML='TEST'",2000);}setInterval("callback();",10000);setInterval按预期工作,但setTimeout调用失败。我想这个问题与我引用的变量(myVar)不在范围内有关。解决

javascript - 正在使用 var foo = function foo() {};在 IE < 9 中创建内存泄漏的表达式?

我知道这种形式:varfoo=functionbar(){};会将bar名称泄漏到封闭范围并在jscript中创建两个函数。怎么样:varfoo=functionfoo(){};?它仍然将名称泄漏到封闭范围,但无论如何它都在那里(thxtovarfoo)。我知道它将在整个范围内定义,但它会创建两个函数并立即取消引用/销毁其中一个,还是这仍然会导致泄漏?在这种情况下:varbar=function(){foo();varfoo=functionfoo(){};}bar()中是否有两个函数对象?编辑好的,它肯定创建了两个函数对象,现在的问题是:在varfoo行之后,由命名定义创建的函数是否

javascript - 守夜人 : Better way than `.pause(1000)` to avoid brittle tests?

.pause(1000)真的是等待表单提交的最佳实践吗?我正在寻找一种可靠地提交表单的方法,而无需知道作为表单提交结果出现的页面的详细信息。例子来自homepage使用.pause(1000)等待表单提交,具有讽刺意味的是不再起作用,但是这个带有修改后的css-selector版本的版本可以:module.exports={'DemotestGoogle':function(client){client.url('http://www.google.com').waitForElementVisible('body',1000).assert.title('Google').asser

javascript - 为什么在 javascript 中使用 var { VariableName } = require ('' )?

我在Firefox中看到了很多例子addon-sdk声明变量时使用以下样式。var{Hotkey}=require("sdk/hotkeys");使用var{Hotkey}与使用varHotKey有什么区别?为什么要使用额外的花括号? 最佳答案 这是destructuringassignment.var{Hotkey}=require('sdk/hotkeys');相当于:varHotkey=require('sdk/hotkeys').Hotkey;另见harmony:destructuring提案,其中包括以下示例://obje