相关疑难解决方法(0)

JavaScript中这两个函数声明有什么区别?

可能重复:
JavaScript:var functionName = function(){} vs function functionName(){}

在JavaScript中我们可以说:

function a() {};
Run Code Online (Sandbox Code Playgroud)

或者我们可以说

var a = function() {};
Run Code Online (Sandbox Code Playgroud)

任何人都可以向我解释这些有何不同之处,如果有的话,更为可取的,在什么情况下每个人都会使用?

任何链接或外部阅读也将非常感激.

javascript

5
推荐指数
1
解决办法
188
查看次数

5
推荐指数
1
解决办法
216
查看次数

为什么我应该在javascript中将函数分配给变量?

可能的重复:
JavaScript: var functionName = function() {} vs function functionName() {}
Javascript 中的函数表达式与声明之间有什么区别?

我试图了解 javascript 的“最佳实践”。

此代码来自jqfundementals.com

// create a function that will greet a person,
// and assign the function to the `greet` variable
var greet = function( person, message ) {
  var greeting = 'Hello, ' + person + '!';
  log( greeting + ' ' + message );
};

greet( 'Jory', 'Welcome to JavaScript' );
greet( 'Rebecca', 'Thanks for joining us' );
Run Code Online (Sandbox Code Playgroud)

为什么我应该将函数分配给 greet 变量?

我的第一个冲动是这样写:

function …
Run Code Online (Sandbox Code Playgroud)

javascript

5
推荐指数
1
解决办法
442
查看次数

根据Google JavaScript样式指南在Blocks中的函数声明

根据Google JavaScript样式指南,函数声明不应在块中声明,因为它不是ECMAScript的一部分.但是,我并不完全清楚什么算作块.

具体来说,我有一个构造函数,我想在该构造函数的范围内定义一个函数.这是否算作一个块内的函数,因为它在一组{}内?如果是这样,这是否意味着每个函数声明必须是全局的?

一些好的衡量标准:

错了(?)

function Constructor() {
    function Shout () { alert('THE BEST UX IS IN ALL CAPS.'); }
}
Run Code Online (Sandbox Code Playgroud)

对 (?)

function Constructor() {
    var Shout = function () { alert('THE BEST UX IS IN ALL CAPS.'); };
}
Run Code Online (Sandbox Code Playgroud)

javascript google-style-guide ecmascript-5

5
推荐指数
1
解决办法
2242
查看次数

javascript命名函数表达式-作用域可访问性

我正在关注John Resig的《 JS忍者的秘密》幻灯片,但发现了一些我不清楚的东西。以下代码定义了一个命名函数表达式

var ninja = function myNinja(){
  console.log(myNinja); // function myNinja() {...}
};
myNinja; // undefined
Run Code Online (Sandbox Code Playgroud)

如我所见,在当前作用域(假设它是全局范围)中,ninja是保存对命名函数的引用的变量myNinjaninja变量在范围内是可以访问的-很明显,但是myNinja在范围内不可以访问(但是可以在其自己的函数中访问)。怎么来的?

如果我定义一个函数(不使用函数表达式,而是使用函数声明):

function Cheese() {
  console.log(Cheese);
}
Run Code Online (Sandbox Code Playgroud)

那么就可以在当前范围内访问它。我知道这就像那样-但是有人可以解释为什么吗?

javascript function

5
推荐指数
1
解决办法
287
查看次数

javascript中的function(){}和(function(){})

球队,

我在使用时收到语法错误function(){},但不是何时(function(){}),为什么?
我知道(function(){})仍然是宣言' (function(){})()'是表达方式.
但是为什么这个宣言不可能只是function(){}没有覆盖(... )

<html>
<body>
<script>
function(){}       //**Syntax error**
(function(){})     //Declaration
(function(){})()   //Expression; so executed.
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

javascript

5
推荐指数
1
解决办法
71
查看次数

JavaScript 对象实例化选项

鉴于:

function MyCtor() {}
var myInstance = new MyCtor(); //myInstance.constructor ==== MyCtor

var MyCtor = function() {}
var myInstance = new MyCtor(); //myInstance.constructor ==== Function
Run Code Online (Sandbox Code Playgroud)

如果您使用前一种模式实例化一个对象,则构造函数“更有意义”。

这些方法中的一种是首选吗?在某些情况下,一个人更惯用吗?

javascript

5
推荐指数
1
解决办法
164
查看次数

为什么总是在JavaScript中声明函数?

我被告知你必须始终在JavaScript中声明函数.真的吗?它的优点是什么?

我通常将函数分配给变量:

var foo = function() {};
Run Code Online (Sandbox Code Playgroud)

但据说这是错误的,需要做一些堆栈跟踪.有人可以解释一下吗?有人告诉我这样做:

var foo = function fooBar() {};
Run Code Online (Sandbox Code Playgroud)

如果它被分配给一个对象会有意义吗?

var Foo = {};
Foo.Bar = function Bar() {};
Run Code Online (Sandbox Code Playgroud)

请注意,这些功能不在全局范围内,也不是自行执行,也不是多次使用.

javascript function

5
推荐指数
1
解决办法
97
查看次数

var NAME = function NAME(){}; - 功能名称使用两次

在Javascript中,声明函数的一种标准方法如下:

var add = function(a,b){
   return a+b;
};
Run Code Online (Sandbox Code Playgroud)

但是,当我在语法的右侧重复函数名称时,我也没有错误.

var add = function add(a,b){
  return a+b;
};
Run Code Online (Sandbox Code Playgroud)

第二种情况发生了什么?

javascript function

5
推荐指数
1
解决办法
100
查看次数

函数表达式与函数声明:返回值

在Udacity课程中,函数表达式和声明之间的区别解释如下:

函数声明定义函数,不需要为其分配变量.它只是声明一个函数,并且本身不返回值......另一方面,函数表达式确实返回一个值.

这令人困惑; 据我所知,当函数表达式和函数声明都包含return语句时,都返回一个值.

如果我理解正确,返回值的差异在于函数表达式中,如果在函数的第一次调用中更改了值,则在后续调用中将保留更新的值 - 而如果函数未存储在变量中,当函数执行完毕时,将删除返回值.我错过了什么,并且从课程中的陈述准确吗?

注意:我的问题与标记为重复的问题不同.在那个问题中,它询问使用一个在另一个之上的原因是什么,但问题中没有提到或在答案中解释了返回值.

javascript

5
推荐指数
1
解决办法
905
查看次数