在Javascript中声明函数的最佳方法
你可以用这么多不同的方式调用函数,这让我很困惑。让我解释一下 当您开始一个项目或在已经存在的项目上工作时,您希望您的代码具有最高的质量,以便其他开发人员可以在将来轻松地处理它。然而,有这么多不同的方法来创建一个项目,如果你没有经验,你可能会搞得一团糟 让我向您展示一些函数示例以及如何调用它们,以向您展示我的意思 示例1:您只需声明一个普通的函数,然后按名称调用它:在Javascript中声明函数的最佳方法,javascript,function,Javascript,Function,你可以用这么多不同的方式调用函数,这让我很困惑。让我解释一下 当您开始一个项目或在已经存在的项目上工作时,您希望您的代码具有最高的质量,以便其他开发人员可以在将来轻松地处理它。然而,有这么多不同的方法来创建一个项目,如果你没有经验,你可能会搞得一团糟 让我向您展示一些函数示例以及如何调用它们,以向您展示我的意思 示例1:您只需声明一个普通的函数,然后按名称调用它: function exampleFunc1(){ console.log("hello 1"); } exampleFun
function exampleFunc1(){
console.log("hello 1");
}
exampleFunc1(); //hello 1
示例2:您还可以在对象内部创建函数表达式:
var mysteriousObject1 = {
example2: function(){
console.log("hello 2");
}
}
mysteriousObject1.example2(); //hello 2
function mysteriousObject2() {
function decl() {
console.log("hello 3");
}
decl();
}
mysteriousObject2(); //hello 3
示例3:或函数内部的函数声明:
var mysteriousObject1 = {
example2: function(){
console.log("hello 2");
}
}
mysteriousObject1.example2(); //hello 2
function mysteriousObject2() {
function decl() {
console.log("hello 3");
}
decl();
}
mysteriousObject2(); //hello 3
示例4:您也可以通过这种方式将其作为匿名函数调用:
var example4 = function() {
console.log("hello 4");
};
example4(); //hello 4
示例5:甚至是这样:
function exampleFunc5() {
function example5() {
console.log("hello 5");
}
return {
example5: example5
};
}
var call = exampleFunc5();
call.example5(); //hello 5
示例6:您还可以创建一个类并以这种方式调用函数
class User {
constructor(name) {
this.name = name;
}
helloWorld() {
console.log('hello ' + this.name);
}
}
let user = new User("JavaScript");
user.helloWorld(); //hello JavaScript
方法太多了,我不知道该用哪种方法
- 我通常在我从事的项目中使用现有的方法,但是
哪一个是最好的
- 如何编写代码使其他开发人员可以轻松访问 将来呢
- 与示例4(带函数表达式的
)相比,更喜欢示例1(函数声明)。声明简单、可读且免费var
- 如果需要在一个结构中放置多个函数,请使用示例2(对象文本中的方法)
- 如果需要创建具有不同状态/数据且工作方式相同的多个对象,请使用示例5(工厂)或示例6(
)class
MystiousObject2
不是一个目标,我更喜欢示例1。这很简单,而且可以预测。将它与.call()
配合使用时,100%的情况下都能正常工作。我不明白为什么我会被否决。对我来说,这是一个严肃而非常重要的问题。。