天天看點

JavaScript中this關鍵字使用

在Web開發中,前端掌握JavaScript,背景掌握PHP成為一個趨勢。當然背景掌握C#/Java,當然還有Python,Ruby其中的一種,都是可以的。其實作在成熟的企業開發,移動mobile web開發都屬于Web開發的大家庭。不過企業開發更多注重業務的邏輯性,同時要保持産品開發的穩定性,同時易于和其他現有的産品內建。是以企業級開發中級開發中使用Java來做的企業特别多。

JavaScript作為一門優秀的前端開發語言,當然現在Node.js也将JavaScript開發擴充到伺服器上。目前國内和國外都有很人在使用Node.js來開發,當然目前還未出現重量級的産品。

JavaScript中的this關鍵字經常被開發者濫用。我剛進入項目組,看到很多如下寫法:

_this=this;           

複制

<!-- .csharpcode, .csharpcode pre { 	font-size: small; 	color: black; 	font-family: consolas, "Courier New", courier, monospace; 	background-color: #ffffff; 	/*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt  { 	background-color: #f4f4f4; 	width: 100%; 	margin: 0em; } .csharpcode .lnum { color: #606060; } -->           

複制

是以經常調用其他開發者些的函數時,自己總是丈二的和尚,摸不着頭。this關鍵字可以作為對象方法調用,作為函數調用,作為構造函數調用,最後還可以使用apply或call調用。

1.作為對象方法調用

2.作為函數調用

3.作為構造函數調用

4.使用apply或call方法調用

參考網站:

1. http://www.ibm.com/developerworks/cn/web/1207_wangqf_jsthis/

2. http://www.ruanyifeng.com/blog/2010/04/using_this_keyword_in_javascript.html

3. http://msdn.microsoft.com/zh-cn/magazine/cc163419.aspx