草庐IT

圆括号

全部标签

javascript - 为什么在将函数作为参数传递时必须省略括号?

我正在努力思考为什么以下代码在包含括号时会导致堆栈溢出,但在省略括号时却不会。我正在调用函数本身作为setTimeout的参数,它在没有括号的情况下工作,但是当我添加它们时当然会失败。在函数之后添加()是我的直觉。只希望有人能帮我解决这个问题。什么时候parans是可选的而不是?案例1:vara=1;functionfoo(){a++;document.write(a);setTimeout(foo(),2000)}​//RangeError:Maximumcallstacksizeexceeded案例2:vara=1;functionfoo(){a++;document.write(

javascript - 为什么在 Javascript 事件处理函数中带有括号?

Javascript大师,看看这段代码:ClickMefunctionhandler(){alert("clicked");}为什么要将onclick事件分配给handlerwith()onclick="handler()"?在这种情况下,警报被调用。但是根据类似问题的答案描述的逻辑https://stackoverflow.com/a/3247044/2543590onclick分配给函数处理程序的结果,而不是函数本身。我相信将onclick分配给函数应该是这样的onclick="handler",但在这种情况下不会调用警报。为什么? 最佳答案

javascript - ExpressionEngine 渲染带有 { } 括号的 JS 代码

有没有办法强制表达式引擎不将大括号内的项目呈现为EE代码?googlecharttools使用包含大括号{}的javascript代码,EE自然会认为它是一个变量并尝试呈现它。有什么办法解决这个问题吗? 最佳答案 ExpressionEngine的模板类将大括号{}解析为templatevariables,寻找三种变量:单​​变量、对变量和条件变量://SingleVariable{summary}//PairVariable{category}...{/category}//ConditionalVariable{ifsegmen

javascript - 如何在方括号表示法等点表示法中使用变量

我一直在Javascript中使用方括号表示法来创建和调用关联数组。在这个例子中,我了解到方括号表示法允许您使用变量来调用数组中的某个对象。你会如何用点符号做这样的事情?varitem={};item['1']='pen';varx=1;console.log(item[x]);//consolewillshow'pen' 最佳答案 您不能在点符号中使用变量(除了使用eval之外,您不想这样做)。使用点表示法,属性名称本质上是一个常量。myObj.propName//isequivalenttomyObj["propName"]

javascript - 用尖括号和方括号显示的 Chrome 控制台对象属性

在Chrome控制台中列出对象的属性时,我偶然发现了以前从未见过的符号。事实上,一些属性被概述为和[[double-square-brackets-properties]]符号。任何人都可以阐明:这些符号的用途这些行为/修饰符的含义是什么属性(可枚举、可写、可配置等)这是否可以通过纯Javascript操作重现,或者是否只能通过nativeC++对象实现何时引入(ECMAScript规范)您将在下面找到一个示例: 最佳答案 您的大部分问题都已得到解答here.就像那个答案一样,我将继续引用规范:Theyaredefinedbythi

javascript - 如何使用 JavaScript 控制大括号或大括号 { } 内段落(<p> 标记)中任何文本的字体粗细

如果使用JavaScript将文本括在p标记内,我希望能够控制文本的字体粗细。例如:母牛跳过了{月亮}。{}内的字体粗细会增加。这样最终用户就可以将其键入文本区域,并在提交时打印到页面,更改大括号或大括号内的字体粗细。在这方面的任何帮助都会很棒。 最佳答案 以下是您可以执行此操作的方法:varps=document.getElementsByTagName('p');foreach=Array.prototype.forEach;foreach.call(ps,function(p){varcontent=p.innerHTML;p

javascript - 带有模板文字但没有括号的 ES6 调用函数

这个问题在这里已经有了答案:Backticks(`…`)callingafunctioninJavaScript(3个答案)关闭6年前。根据MDN,Taggedtemplateliterals可以按如下方式使用:vara=5;varb=10;functiontag(strings,...values){alert(strings[0]);//"Hello"alert(strings[1]);//"world"alert(values[0]);//15alert(values[1]);//50return"Bazinga!";}tag`Hello${a+b}world${a*b}`;//

javascript - 为什么在生产中使用没有括号的函数是不好的?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭6年前。Improvethisquestion通读Invokingafunctionwithoutparentheses在评论和答案中多次声明不要在生产中使用此类代码。为什么请?正如您从问题中猜到的那样,我是JavaScript的初学者。如果有人能用通俗易懂的语言来表达他们的回答,那会很棒,但也请反驳你们中有经验的JS人员,他们可能需要更详细和技术上更详细的答复。在生产中使用不带括号的函数可能会或确实会出错的示例将是对答案的重要补充。

javascript - 可以通过括号符号在 JavaScript 中解构吗?

这不一定是个问题,更多的是ESLint错误引起的好奇心,这让我想知道是否有更好的方法来禁用这一行的ESLint。考虑下面的代码片段。如果react/destructuring-assignment,ESLint会报错规则已启用,更喜欢const{arrayToPrint}=myArrays到constarrayToPrint=myArrays[arrayName]我的问题是,我没能找到对此的任何引用,所以我猜不是,有没有办法将[arrayName]移到左侧在不引用实际对象属性的情况下解构赋值?constmyArrays={arrayOne:['one'],arrayTwo:['two'

javascript - 删除字符串开头和结尾的方括号

我想删除字符串开头和结尾的方括号(如果存在的话)。[Justastring]JustastringJustastring[comment][Justastring[comment]]应该导致JustastringJustastringJustastring[comment]Justastring[comment]我试图构建一个正则表达式,但我没有以正确的方式得到它,因为它没有寻找位置:string.replace(/[\[\]]+/g,'') 最佳答案 string.replace(/^\[(.+)\]$/,'$1')应该可以解决问