JavaScript中的程序方法

时间:2012-11-02 14:01:29

标签: javascript procedural-programming

我最近观看了一个JavaScript视频教程,其中包含与此类似的代码:

(function (){
    var b = 10,
        c = 20, 
        d = 50;

    var e = function(){
        return b + c + d;
    };
    return e();
}());

这是一种常见的JS编码模式。 作者说这是Javascript代码中程序方法的一个例子。我不明白,你能解释一下。

1 个答案:

答案 0 :(得分:6)

让我们首先说上面是一个自我调用的匿名函数:

  

自动调用匿名函数会立即自动/立即运行   创建它并且没有名字,因此被称为匿名。

在我看来,上面是一个相当糟糕的例子,但请考虑以下变化:

var f = (function (){
    var b = 10,
        c = 20, 
        d = 50;

    var e = function(){
        return b + c + d;
    };
    return e();
}());

​console.log(f);​ 

我们已经采用了上面的代码并在函数前添加了var f =。这会将e()的值从内部函数返回到f,现在您有一个值f可以在别处使用。由于变量bcde在匿名函数的函数范围中声明,我们可以确保它们将不被篡改。这是一种在JavaScript中执行私有变量的方法。现在说你的代码中有10 + 20 + 50个位置。您可以在开头运行此匿名函数,并用f替换这些事件。这种将代码抽象到各种程序中的想法就是为什么它被称为程序编程

  

程序编程使用结构化方法对数据进行编码   程序,其中程序的功能被分解为   函数数量或子程序,使其更容易遵循和   减少重复代码的需要。

这主要用于使代码更易于阅读,更易于遵循/调试,并允许您将常用的代码块抽象为编写良好的代码片段。


了解更多


<强> Self-Invoking Functions

<强> Purpose of Self-Invoking Functions

<强> Procedural Programming

<强> More Procedural Programming

这会让您进入 Closures