如何解决定义函数的JavaScript差异
| 我刚刚购买了最新版本的\“ JavaScript:The Definitive Guide \”,并且已经有一个疑问。 :D 以下几行在语义上是否相同:var square = function(n){
return n * n;
};
和
function square(n){
return n * n;
}
如果是,使用它们中的任何一个有什么优点/缺点?
谢谢你的帮助!
解决方法
看一下这个:
a(); // prints \'A\'
function a(){
console.log(\'A\');
};
还有这个:
b(); // throws error. b is not a function
var b = function() {
console.log(\'B\');
};
您注意到差异了吗?
,是的,他们做的完全一样。
第一种方法的主要优点是,它为您提供了对该函数的引用,以便您可以将其传递给另一个函数或在需要时将其附加到对象。
,区别在于,在第一个解决方案中,您可以执行以下操作:
var square = function(n){
return n * n;
};
// some code
square = function(n) { return n*n*n; }
您已经引用了一个函数。在另一个解决方案上,该函数是静态声明的。
免责声明:如果我错了,需要JS专家告诉我=)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。