在我的代码中,我有以下内容:
var setTheme = function (color) {
};
function setTheme(color) {
};
函数名称并不完全相同,但我在这里放了相同的名称。创建函数的两种方式有区别吗?
在我的代码中,我有以下内容:
var setTheme = function (color) {
};
function setTheme(color) {
};
函数名称并不完全相同,但我在这里放了相同的名称。创建函数的两种方式有区别吗?
它们是有区别的。使用函数定义,整个定义被提升:
foo(5); // Pops up 5
function foo(n) {
alert(n);
}
而 with var
,声明被提升,但分配不是:
foo(5); // Error!
var foo = function(n) {
alert(n);
};
我注意到的另一个区别是,在 ECMAScript 5 严格模式下的 Google Chrome Canary(目前,至少我还没有在许多其他浏览器中尝试过)上,函数定义的嵌套深度不能超过一层:
!function() {
'use strict';
function Blah() {
function Lol() { // Error.
}
}
}();
所以,
获取设置的JS函数
var setTheme = function (color) {
};
如果您需要一个私有实用程序来获取/设置/删除模型值,那么您可以将函数声明为这样的变量。这对于在由函数计算的声明时分配变量可能很有用。
适用于: 简单版
function setTheme(color) {
};
这是在 JavaScript 中声明函数的最简单方法。比如说,我们想写一个简单的函数调用setTheme(color)
,它只接受一个参数color
,对对象执行简单color
的操作或返回值。您可以通过以下几种方法来做到这一点。
5种不同的方式:有趣的阅读:
http://www.jquery4u.com/jquery-functions/5-ways-declare-functions-jquery/
这已经回答了很多次了。有很多方法可以调用这些。据我了解,第一个是函数赋值,第二个是函数声明。第一个将提升setTheme
到最近范围的顶部,但它不会被定义为函数,直到它到达实际分配的位置。第二个将函数提升到setTheme
顶部,因此您甚至可以在声明之前使用该函数。IMO,始终使用第一个。