JavaScript中的程序方法

car*_*sel 3 javascript procedural-programming

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

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

    var e = function(){
        return b + c + d;
    };
    return e();
}());
Run Code Online (Sandbox Code Playgroud)

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

Cha*_*ase 7

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

自动调用的匿名函数在您创建它时没有名称自动/立即运行,因此称为匿名.

以上是我认为的一个相当差的例子,但请考虑以下变化:

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

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

?console.log(f);? 
Run Code Online (Sandbox Code Playgroud)

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

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

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


阅读更多


自我调用函数

自我调用函数的目的

程序编程

更多程序编程

这会让你进入闭包