- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我现在已经在一些库中看到了这种语法,我想知道它有什么好处。 (注意我很清楚闭包和代码在做什么,我只关心语法差异)
!function(){
// do stuff
}();
作为更常见的替代品
(function(){
// do stuff
})();
用于自调用匿名函数。
我想知道一些事情。首先,是什么让顶级示例真正起作用?为什么要使这个语句在语法上正确,爆炸是必要的?我还被告知 +
有效,我敢肯定还有其他一些替代 !
第二,有什么好处?我只能说它节省了一个 Angular 色,但我无法想象吸引众多采用者的巨大好处。我还缺少其他一些好处吗?
我能看到的唯一其他区别是自调用函数的返回值,但是在这两个示例中,我们并不真正关心函数的返回值,因为它仅用于创建闭包。那么有人可以告诉我为什么可以使用第一种语法吗?
最佳答案
理想情况下,您应该能够简单地完成所有这些操作:
function(){
// do stuff
}();
这意味着声明匿名函数并执行它。但由于 JS 语法的特殊性,这不起作用。
因此,实现这一点的最短形式是使用一些表达式,例如UnaryExpression(以及 CallExpression):
!function(){
// do stuff
}();
或者为了好玩:
-function(){
// do stuff
}();
或者:
+function(){
// do stuff
}();
甚至:
~function(){
// do stuff
return 0;
}( );
关于javascript函数领先砰!句法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5827290/
示例 df: library(tidyverse) iris % mutate_at("testlag", ~ lag(.) + Petal.Length) 但这删除了第一个值,并且只为第二行提供了有
用简单的语言(希望有一个简单的例子)来说,Github 存储库分支上的领先/落后指标意味着什么? 该分支的影响及其受到的关注是什么?对于分支机构来说,“落后”是一个坏兆头吗? 最佳答案 Ahead 是
有时,我正在使用的某个软件的原始 GitHub 存储库,例如 linkchecker , 很少或根本没有发展,同时已经创建了很多 fork (在这种情况下:142,在撰写本文时)。 对于每个 fork
我在尝试延迟按团队分组的日期时遇到问题。 数据: df % group_by(Date) %>% mutate(Date_lagged = lag(Date)) 知道如何修复它吗? 最佳答案 la
当 git status 报告“你的分支比‘origin/foobranch’提前了 N 次提交。”我想确切地知道哪个提交。如给我一份 list 。它们不在日志的顶部,我不想手动比较日志。是否有 gi
我在使用 git pull 时遇到问题。我已经在本地仓库中提交了我的更改。当我执行 git status 时,我确实收到一条消息,说“你的分支在 1 次提交之前领先于‘origin/cherryPic
我确实看到其他类似的问题,但我真的不明白为什么会这样。现在,我正在使用 git reset --hard HEAD 然后手动添加我的更改。建议的解决方案似乎是 git pull origin mast
这个问题在这里已经有了答案: Viewing unpushed Git commits (27 个答案) 关闭 8 年前。 我正在使用以下命令检查 X 提交: git log --author= -
我是一名优秀的程序员,十分优秀!