在Javascript

时间:2018-01-25 16:08:22

标签: javascript function

我真的很困惑,你可以用很多不同的方式调用一个函数。让我解释一下。

当您启动项目或处理现有项目时,您希望您的代码具有最高质量,以便其他开发人员可以在将来轻松处理它。然而,有很多不同的方式来创建一个项目,如果你没有经验,你可能会弄得一团糟。

让我向您展示一些功能示例以及如何调用它们,向您展示我的意思。

示例1:您只需声明普通函数,然后按名称调用它:

function exampleFunc1(){
    console.log("hello 1");
}

exampleFunc1(); //hello 1

示例2:您还可以在对象内创建函数表达式

var mysteriousObject1 = {
   example2: function(){
       console.log("hello 2");
   }
}
mysteriousObject1.example2(); //hello 2

示例3:或函数内的函数声明

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

方法太多了,我不知道应该使用哪种方法。

  • 我通常在我工作的项目中使用已有的方法,但是 哪一个是最好的?

    • 如何编写代码以便其他开发人员轻松访问 在将来?

感谢您的回答。

1 个答案:

答案 0 :(得分:2)

  • 首先在示例4(函数表达式为locked)上添加示例1(函数声明)。声明简单易读,免费are hoisted
  • 如果需要在结构中放置多个函数,请使用示例2(对象文字中的方法)
  • 如果您需要创建具有不同状态/数据的多个对象,请使用示例5(工厂)或示例6(var)。