多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > web前端 > jscript > 令人驚奇的JavaScript面向對象

令人驚奇的JavaScript面向對象

來源:程序員人生   發布時間:2013-11-02 13:21:04 閱讀次數:4050次

JavaScript是基于對象和事件驅動的。應該怎樣理解“基于對象”的意思呢?JavaScript確實有面向對象的特性,但是他的表現形式卻和其他面向對象編程語言大相徑庭。

有種流行的說法:JavaScript是基于對象和事件驅動的。應該怎樣理解“基于對象”的意思呢?

《精通JavaScript》告訴我們,對象是JavaScript的基礎,甚至說“JavaScript這門語言就是完全面向對象的”。

我不知道應該怎樣評判這樣的說法,JavaScript確實有面向對象的特性,但是他的表現形式卻和其他面向對象編程語言大相徑庭。

在談JavaScript的面向對象之前,我想先說說JavaScript的作用域問題。我想只有搞清楚這個問題,才能更好地理解接下來的內容。我將會用自己的理解將JavaScript中的面向對象特性與一般面向對象程序設計語言(Java/C++等)的一些稱謂對應起來。

首先理清兩個問題:

1.什么是全局變量?

JavaScript中的全局變量實際上指的是window對象下的對象屬性。

2.作用域劃分。

JavaScript中的作用域是基于上下文,以函數進行劃分的,而不是由塊(block)劃分的。

接下來看一個例子(原例來自《精通JavaScript》,有改動):

<script type="text/javascript">

// 設置全局變量foo,并置為“test”

var foo = "test";

if ( true )

{

// 注意:現在還在全局作用域中

var foo = "new test";

}

// 如我們所見,現在foo等于'new test'了

alert( foo );

// 創建一個會修改變量foo的新函數

function test()

{

//函數內部定義變量不影響全局變量

var foo = "old test";

//隱式定義全局變量

val = 'hello!';

}

// 然而在調用test函數時,foo只在函數作用域內起作用

test();

// 確認foo還是等于'new test'

alert( foo );

// 全局變量實際是window下的屬性

alert( window.foo );

// 函數內部隱式定義的全局變量

alert(val);

</script>

現在你大概對JavaScript的作用域有了一個初步的理解。

要強調的兩點是:

1.在同一作用域中,JavaScript是允許變量的重復定義的,并且后一個定義將覆蓋前一個定義。

2.函數內部如果不加關鍵字var而定義的變量,默認為全局變量。

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 国产精品亚洲欧美一级久久精品 | 国产精品第页 | h在线视频 | jizz亚洲高清在线观看 | 精品一区二区三区四区五区 | 手机看片精品国产福利盒子 | 久久久久爽亚洲精品 | 18jzz大全中文 | 最近免费字幕高清在线观看 | 亚洲欧美成aⅴ人在线观看 亚洲欧美成人 | 欧美亚洲视频在线观看 | 五月天国产视频 | 国产一区二区三区亚洲综合 | 免费观看69xxx视频在线 | 岛国精品成人 | 国产高清视频免费在线观看 | 精品欧美一区二区三区在线 | 日韩视频高清 | 9丨精品国产高清自在线看 ⅹxx日本护土 | 国产性夜夜春夜夜爽30 | 国产精品成人第一区 | 亚洲黄色a | 欧美另类久久久精品 | h免费看| 国产经典自拍 | 亚洲天堂小视频 | 亚洲欧美日韩国产色另类 | 日韩18在线观看 | 久久精品国产欧美成人 | 性的小视频在线观看免费 | 成人国产精品 | www.自拍 | 久久亚洲国产 | 亚洲跨种族黑人xxx 亚洲老女人 | 最近中文字幕完整国语视频 | 日本亚洲国产精品久久 | 精品久久久中文字幕一区 | 国产成人免费片在线观看 | 中文字幕在线亚洲 | 一区二区在线观看视频 | 羞羞影院在线观看 |