日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

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

令人驚奇的JavaScript面向對象

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

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而定義的變量,默認為全局變量。

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 婷婷在线视频 | 曰韩三级 | 欧美视频成人 | 亚洲国产精品女人久久久 | 久久丁香综合 | 国产超碰人人做人人爽aⅴ 亚州国产 | 日韩一区欧美一区 | 日韩一区二区精品视频 | 成人网在线观看 | 91av超碰| 九九国产| 玖玖操 | 成人免费在线播放 | 国产高清视频在线 | 天堂在线www | 激情欧美日韩一区二区 | 黄网在线 | 日韩欧美精品一区二区三区经典 | 午夜精品久久久久99热蜜桃导演 | 精品亚洲一区二区三区 | 一区二区三区四区视频在线观看 | 亚洲成人av电影网站 | 亚洲国产成人精品女人 | 人人人人人人 | 日日爱av| 2015成人永久免费视频 | 成人韩免费网站 | 精品小视频 | 91久久久久久久久久久久久 | 亚洲精品在线观看网站 | 国产日韩一区二区三区 | 久草成人在线 | 中文字幕在线一区观看 | 四虎884aa成人精品最新 | 黄色三级在线观看 | 日韩一区二区三区电影 | 国产一区二区在线免费观看 | 国产精品大全 | 91香蕉| 午夜激情视频在线观看 | 日本一区二区三区四区在线观看 |