2013-10-17 175 views
-1

我一直在開發面向對象的範例,在開發時很少使用JavaScript,直到大約一年前。我採用了很多面向對象的技能,而這些技能大部分都是用JavaScript來完成的。C#的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權威指南(權威指南)由大衛弗拉納根和亞當·弗里曼專業的jQuery)善於描述語言的個別特徵,但沒有那麼如何寫整個圖書館等

所以如果有人可以給任何指針,它將不勝感激!謝謝。

+1

'<! - 某些元標記和導入語句>' 在您的代碼中看起來不正確。不知道,如果這是一個錯字或問題的根源。 '<! - 一些元標記和導入語句 - >' –

+0

@SunnyRGupta顯然只是他爲此示例編寫的佔位符。 –

+0

Rory完全正確。我只是錯過了最後的評論塊。 – keldar

回答

1

我曾經準備好的最好的JS書籍之一是Stoyan Stefanov的Javascript Patterns。

你可以在這裏找到這本書:http://shop.oreilly.com/product/9780596806767.do

我經常重讀它。它會給你詳細的信息,從更多面向對象的方法來處理JavaScript。

我發現自己又回到另一本書是Javascript:道格拉斯克羅克福德的好作品。

您可以找到這本書在這裏http://shop.oreilly.com/product/9780596517748.do

自我執行功能更常用來處理範圍的問題,而不是設計模式。

+0

太棒了!我在Amazon.co.uk上看了一下預覽後買了它,因爲它看起來完全一樣,並且描述瞭如何根據OOP經驗編寫JavaScript :) – keldar

+1

yup - 我和這個小船完全一樣你,來自純粹的C#背景,有點迷路。讀那本書,永不回頭!祝你好運! – seanxe