我知道这很愚蠢,但这之间有什么区别:
(function() {
var foo = 'bar';
})();
和这个?
(function() {
var foo = 'bar';
}());
JSLint告诉我们Move the invocation into the parens that contain the function
,但是我认为没有必要。
编辑:
答案太酷了。~function
,JSHint替代品,以及jQuery的偏好(/***/)();
和Crockford的解释!我以为我只会得到“他们是同一件事”的答案。
没有区别 两种方法都是使JavaScript解析器将函数视为 表达式 而不是 声明的 有效方法。
请注意,+
和!
也可以使用,并且有时被缩小器用来保存大小字符:
+function() {
var foo = 'bar';
}();
!function() {
var foo = 'bar';
}();
编辑
正如@copy指出的那样,出于完整性考虑,它~
也-
将起作用。
-function() {
var foo = 'bar';
}();
~function() {
var foo = 'bar';
}();
主要内容:什么是闭包,闭包的用途,闭包的高级用法闭包(closures)是 Javascript 语言的一个难点,也是它的特色,很多高级应用都是依靠闭包实现的。闭包与变量的作用域以及变量的生命周期密切相关,本节我们就来简单介绍一下。 什么是闭包 所谓闭包,指的就是一个函数。当两个函数彼此嵌套时,内部的函数就是闭包。 因为在 JavaScript 中,函数属于对象,对象又是属性的集合,而属性的值又可以是对象,所以我们可以在函数内部再定义函数。例如
本文向大家介绍Javascript中return的使用与闭包详解,包括了Javascript中return的使用与闭包详解的使用技巧和注意事项,需要的朋友参考一下 前言 Javascript中闭包是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分。而return语句在js中起到举足轻重的作用,该关键字不仅具有返回函数值得功能,还具有一些特殊的用法,
函数表达式 函数表达式是JavaScript中既强大又容易让人困惑的特性。 函数的定义 函数的定义有两种方式:函数声明 和 函数表达式。 函数声明 函数声明的语法: function functionName () { //函数体 } function是关键字,后面跟着的是函数的名字,这就是指定函数名的方法。谷歌、火狐、苹果、欧朋等浏览器给函数定义了一个非标准的name属性,它的值 等于
本文向大家介绍JavaScript中的闭包介绍,包括了JavaScript中的闭包介绍的使用技巧和注意事项,需要的朋友参考一下 所谓的闭包应该是指: 内部函数读取当前函数以外的变量,即创建时所处的上下文环境。 需要注意的是这里的print函数引用了外部hello函数的char变量,于是在这里我们能够返回一个 而这个功能在某种意义上来说,应该是要归功于作用域。当然了,我们没有办法直接访问char,除
问题内容: 看到: 问题在于,警报的item.id始终是数组中最后一个项目的ID(this.items)。怎么解决? 问题答案: 这里的问题是变量随每个循环而变化。在以后参考时,将使用其保留的最后一个值。您可以使用一种称为闭包的技术(本质上是一个返回函数的函数)来快速确定变量的范围。 旁注我看到您在这里有jQuery。它具有可以与数组一起使用的辅助函数,并且可以作为简单的for/each循环的快捷
本文向大家介绍JavaScript闭包详解,包括了JavaScript闭包详解的使用技巧和注意事项,需要的朋友参考一下 在上一篇文章我们对预解释作了概述,在写这篇博文前打算写几个经典案例,考虑到那些案例综合性比较强,也就循序渐进的有了这篇博文,这样对于学习和深入JavaScript也更加容易入手。 序 一同事去面试,面试官问了一道题:你写一个闭包我看下?于是同事火速写出如下代码: 然后面试官摇摇头