草庐IT

javascript - 花括号后面的括号是什么意思?

我看到Javascript代码在函数的右花括号后立即使用圆括号,我无法理解它们的用途。例子:functionfoo(bar){returnbar;}(0);(0)有什么作用?这个叫什么?什么时候应该使用这种技术? 最佳答案 它们会立即调用函数,就像您调用函数时一样:functionfoo(){alert('hello');}foo();//call您也可以直接调用它:(functionfoo(){alert('hello');})();//当前您有函数声明。要实际自调用它,您需要像这样在括号中使用它(使其成为一个表达式):(func

javascript - 自调用函数的括号符号是否在 Javascript 中有用?

这个问题在这里已经有了答案:Explaintheencapsulatedanonymousfunctionsyntax(10个答案)关闭8年前。当我在Javascript中看到自调用匿名函数的示例时,我感到很困惑,例如:(function(){returnval;})();这个语法和下面的语法有区别吗:function(){returnval;}();如果有人能给我一个具体的区别,这将有助于解决一个困扰我多年的问题......

javascript - 在调用函数时不熟悉方括号的使用

在这个page的中间,我找到下面的代码。varplus=function(x,y){returnx+y};varminus=function(x,y){returnx-y};varoperations={'+':plus,'-':minus};varcalculate=function(x,y,operation){returnoperations[operation](x,y);}calculate(38,4,'+');calculate(47,3,'-');虽然我可以追踪它是如何工作的,但我以前从未见过这种方括号的用法。它看起来肯定不像是在创建一个数组或引用一个数组的成员。这很常见

javascript - javascript 函数后括号中的值

我正在尝试重新利用我在SO的答案中找到的一些Javascript代码。但我想先更好地理解它的语法。它的大纲是:(function(root,ns,factory){//somecode}(window,'detectZoom',function(){//somemorecode}));请参阅thispost中已接受的答案以供引用完整代码。我了解最终结果是如何实现的,但我不太清楚内部(...)block与第一个block的关系,或者其中的逗号分隔列表告诉编译器什么。谁能解释一下?谢谢。 最佳答案 有一个带三个参数(root、ns、fa

javascript - 许多人在 hrefs 中写 `javascript:void(0)` 而不是 `javascript:void 0`。括号有作用吗?

我看到人们总是写void(0),但我不明白为什么人们要使用括号。据我所知,他们没有任何目的。void不是一个函数,它是一个运算符。那么为什么人们要使用括号呢?他们有目的吗?EvenonMDNtheparensareused. 最佳答案 我不得不承认,我在过去多次使用过相同的构造,主要是因为我看到它被用于其他站点。我不再使用它,因为不显眼的JavaScript优于内联JavaScript;事实上,它几乎完全用于内联以确保页面不会刷新。话虽如此,正如您正确指出的那样,它是一个运算符而不是一个函数;它仍然有效的原因仅仅是因为(0)和0是同

javascript - 正则表达式转义括号

我尝试了不同的方法来在JavaScript中使用正则表达式来转义括号,但我仍然无法使其工作。这是字符串:"abc(blah(blah)blah()...).def(blah()(blah)..()...)"我希望这个被检测到:abc().def()使用此代码,它返回false。str.match(/abc\([^)]*\)\.def\([^)]*\)/i);你能告诉我为什么我的正则表达式不起作用吗? 最佳答案 此正则表达式将匹配您提供的字符串:(abc\().+(\)\.def\().+(\))并且使用反向引用$1$2$3将产生ab

javascript - AngularJS动态页面标题保持先加载大括号

{{$root.pageName}}-DomainName我正在尝试动态更改页面标题,当页面加载标题预加载时{{$root.pageName}}-DomainName而不是-DomainName然后在呈现时加载$rootScope.pageName。有没有办法隐藏{{$root.pageName}}在页面加载时显示,直到应用程序获取变量? 最佳答案 你可以这样做:Yoursite请注意,在这种情况下,标题位于$rootScope上。编辑:刚刚测试过,看起来破折号一直在显示,但这应该可以阻止它:Yoursite

javascript - javascript中点符号和括号符号之间的区别

这个问题在这里已经有了答案:JavaScriptpropertyaccess:dotnotationvs.brackets?(17个答案)关闭5年前。我试图理解.Notation和[]符号之间的区别。在下面的问题中,当我使用if(object[key]===true)时,我得到了正确的答案。当我使用if(object.key===true)它不起作用。谁能解释一下为什么不同。varmyObj={one:false,two:false,three:false,four:true,five:false,six:false};varmyFunc=function(object){for(va

javascript - 替换大括号 JavaScript 中的文本

我正在尝试使用JavaScript动态替换花括号内的内容。这是我的代码示例:varmyString="Thisis{name}'s{adjective}{type}inJavaScript!Yes,a{type}!";varreplaceArray=['name','adjective','type'];varreplaceWith=['John','simple','string'];for(vari=0;i上面的代码应该输出“ThisisJohn'ssimplestringinJavaScript!Yes,astring!”。这是发生了什么:我们得到一个字符串,大括号中包含需要替换

javascript - "new <function>"后面的括号可选吗?

这个问题在这里已经有了答案:Canweomitparentheseswhencreatinganobjectusingthe"new"operator?(6个答案)关闭6年前。我在Chrome控制台中运行了以下一对代码片段,结果相同:test=newfunction(){vara=1;varb=2;varc=3;this.debugBase=function(){console.log(''+a+b+c)};};testdebugBase:function(){console.log(''+a+b+c)}__proto__:Object对比:test2=new(function(){v