草庐IT

return_var

全部标签

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 的 `return` 真的是*关键字*吗?

这个片段将在nodejs和浏览器上运行而不会出现任何问题:this.return=function(x){returnx};console.log(this.return(1));我原以为它会因语法错误而严重失败。我的意思是,我能理解为什么this['return']有效..但我一直认为return是词法分析器关键字?javascript是一种上下文相关的语言吗?添加:要点是词法分析器没有T_RETURN标记,而是使用一些T_STRING。不是吗? 最佳答案 return是一个reservedkeyword,但保留关键字可以用作pr

javascript - 是否可以在没有 return 关键字的情况下解析异步函数

我开始使用ES7特性async/await,它提供了处理异步任务的最佳方法,并使您的代码更清晰和可读。但是,它不会让您访问由异步函数创建的Promise,因此如果您在异步函数中执行一些异步请求,您应该对其进行promisify,然后等待它,然后返回结果。我的意思是:asyncfunctiondoStuff(){//stuff...varvalue=awaitnewPromise(function(resolve){$.get('http://some/url/...',function(result){//stuff...resolve(result);});});returnvalu

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(); 最佳答案 静态对象

javascript - 为什么是 !t​​rue ? 'false' : 'true' returning 'true' ?

为什么会这样(!true)?'false':'true'它返回'true'? 最佳答案 简单的说if(!true){return'false';}else{return'true';}!true(不是true)表示false,因此返回else。 关于javascript-为什么是!t​​rue?'false':'true'returning'true'?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com

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

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

<a> 的 javascript:void(0) 或 onclick ="return false"- 哪个更好?

有一个基于javascript的界面-所以我不需要支持没有javascript的工作。我有一个Something带有JS代码的元素,绑定(bind)到点击事件-所以,我不希望在用户点击后重新加载页面。哪种方式更好?1.Something2.Something每种方法的优缺点是什么? 最佳答案 两者都是糟糕的选择。演示文稿不应与内容混在一起。这意味着没有javascript:URI,也绝对没有onclick属性。实现方式:SomethingfunctionmyFunction(...){...}document.getElementB