-1

在开发过程中,我一直学习面向对象的范例,直到大约一年前才使用 JavaScript。我已经掌握了许多面向对象的技能,在很大程度上,这些技能在 JavaScript 中为我所用。

然而,看看一些 JavaScript 库,他们的一些 JavaScript 是非常非常先进的。我倾向于做的是,以非常 C# 的方式,编写我的 HTML 页面的大纲,如下所示:

<!DOCTYPE html>
<html>

<head>
    <!-- some meta tags & import statements -->
    <script>
        function x() {
            // do some stuff
        }

        function y() {
            // do some more stuff
        }

        function z() {
            // do some final stuff
        }
    </script>
</head>

<body>
    <!-- some markup -->
    <a onclick="x()">Call function x</a>
</body>

</html>

正如您将看到的,这只是一些函数声明(显然我省略了很多细节以节省时间和不必要的阅读);但我想把它提升到另一个层次——但在我这样做之前,上述模式有什么问题吗?

如果我要使用我理解是编写 JavaScript 的正确方法和最干净的方法的自执行函数,我会获得任何好处吗?如果是这样,那么我对它们的使用感到困惑?我了解它们为开发人员提供了一个封闭的环境(开发人员可以将代码拆分为私有/公共功能);并阻止开发人员添加到“窗口”变量中。

我是否将我的整个标签放入一个自动执行的函数中?我知道在将其放入自动执行功能后它不会立即工作,但我想至少尝试让我的代码更清洁。

我有两本书(JavaScript: The Definitive Guide (Definitive Guides) by David Flanagan 和 Pro jQuery by Adam Freeman)擅长描述语言的个别特性,但不太擅长描述如何编写整个库等。

因此,如果有人可以提供任何指示,将不胜感激!谢谢。

4

1 回答 1

1

我读过的最好的 JS 书籍之一是 Stoyan Stefanov 的 Javascript Patterns。

你可以在这里找到这本书:http: //shop.oreilly.com/product/9780596806767.do

我经常重读它。它将为您提供有关从更面向对象的方法处理 javascript 的详细信息。

我发现自己一遍又一遍地阅读的另一本书是道格拉斯·克罗克福德(Douglas Crockford)的《Javascript:The Good Parts》。

你可以在这里找到那本书http://shop.oreilly.com/product/9780596517748.do

自执行函数更常用于处理范围问题,而不是设计模式。

于 2013-10-17T10:31:47.020 回答