来自C的Javascript开发人员#

来自C的Javascript开发人员#,javascript,jquery,libraries,Javascript,Jquery,Libraries,我在开发时一直学习面向对象的范例,直到大约一年前才很少使用JavaScript。我已经掌握了很多面向对象的技能,这些技能在很大程度上是用JavaScript为我服务的 然而,看看一些JavaScript库,它们的一些JavaScript要高级得多。我倾向于以一种非常C#的方式编写HTML页面的大纲,如下所示: <!DOCTYPE html> <html> <head> <!-- some meta tags & import state

我在开发时一直学习面向对象的范例,直到大约一年前才很少使用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>

函数x(){
//做点什么
}
函数y(){
//多做点事
}
函数z(){
//做最后一件事
}
调用函数x
正如您将看到的,这只是一些函数声明(显然,为了节省时间和不必要的阅读,我省略了很多细节);但我想把它提升到另一个层次——但在我这么做之前,上面的模式有什么问题吗

如果我使用自执行函数,我知道这些函数是编写JavaScript的正确方法,也是最干净的方法,我会从中获益吗?如果是这样,那么我对它们的使用感到困惑?我知道他们给了开发者一个封闭的环境(开发者可以将代码拆分成私有/公共函数);并停止开发人员添加到“窗口”变量

我是否将整个标记放入一个自动执行函数中?我知道在将其放入自执行函数后,它不会立即工作,但我希望至少尝试使我的代码更干净

我有两本书(David Flanagan的《JavaScript:权威指南》(权威指南)和Adam Freeman的《Pro jQuery》)很好地描述了语言的各个特性,但如何编写整个库等方面的书就更少了


因此,如果有人能给出任何建议,我们将不胜感激!谢谢。

我准备的最好的JS书籍之一是Stoyan Stefanov的Javascript模式

你可以在这里找到这本书:

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

另一本我反复翻阅的书是Douglas Crockford的《Javascript:The Good Parts》

你可以在这里找到那本书


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

/code>@SunnyRGupta这显然只是他为本例编写的占位符。完全正确。我错过了最后的评论栏。太棒了!我是在看了Amazon.co.uk上的预览后买的,因为它看起来正是我想要的,并描述了如何基于OOP经验编写JavaScript:)是的,我和你完全一样,来自纯c#背景,有点迷路。读了那本书就再也不回头了!祝你好运