麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > AJAX > 正文

ecmascript基礎類及asp.net ajax對類object的擴展_ajax教程

2024-09-01 08:34:03
字體:
來源:轉載
供稿:網友

“Everything is Object”,在面向對象的編程語言中誰都知道這句話,但對我來說這是一種感覺,只可意會非常難言傳。由于我對JavaScript和薄弱,所以在看Asp.net Ajax類庫的同時也翻出了ECMAScript順便學習學習。在.NET中所有類都是繼承自Object,同樣在JS中也相同說有都繼承Object,因此如果對Object進行了擴展,那所有繼承Object類的后代肯定會擁有祖先的血緣。

既然開始學習JavaScript那就順便在這里提一提他的原始數據類型,在JS中有5個原始數據類型(Undefined、Null、Boolean、Number、String),能通過typeof來判斷變量和值的數據類型

1.        Undefined: 當變量被聲明但沒有被初始化,或函數沒有明確返回一個值的時候,該變量或函數即為 Undefined 類型,是Null類型的一種特性。

2.        Null: 當一個對象的值不存在時,該對象返回null。

3.        Boolean:一看就知道,一男一女true/false,值得注意的是0不等于false,不過能轉化為false。

4.        Number:能定義32位整型數據或64位浮點型數據。從網上的一些資料知道,浮點數在未被計算之前是以String類型存儲(不知道是真是假)。當浮點類型數據非常大或非常小時(能前后移動六位),將使用E表示法來表示浮點數據,最大能存儲17位數據。另外,isFinite()方法能判斷一個數值是否有限,isNaN()方法能判斷一個數據是非數字類型。通過parseInt()和parseFloat()能將其他類型轉化為數字類型,如果轉化不成功則返回NaN(Not a Number)。

5.        String:這是個唯一沒有大小限制的原始類型,其他類型能通過toString()轉化為String類型,值得一提的是數字轉化為String類型能加入2.8.16作為參數已輸出二進制,八進制和十六進制的字符串。

下面我們來看一下Object類型,通過var obj=new Object();能申明一個對象。同.NET中的Object相同,他是所有類的基類。

他具有兩個屬性:constructor(相當于.NET中的構造函數)建議一個對象函數引用,對于Object類而言,該引用指向本地Object()方法。Prototype對象里prototype對象的一個引用值,通過這個屬性能反射每個對象中的prototype擴展的屬性和方法,在Asp.net Ajax中也是利用這個屬性類擴展和反射類的。

hasOwnProperty(property)?判斷property屬性是否存在于對象中,property數據類型為string;isPrototypeOf(object)? 判斷一個對象是否是另一對象的 prototype;propertyIsEnumerable(property)? 判斷所給出的屬性能否使用 for 語句列舉出來;toString()?返回對象的原始類型string;valueOf()?返回對象合適的原始值,對于多數類而言,返回的值和toString()相同。這些就是原始Object對象的方法,在其他類中這些方法以同樣被繼承。

在Asp.NET Ajax中微軟為了將整個類庫擴展的更適合.NET的研發人員,在原始的Object對象中擴展了兩個方法:

Object.__typeName="Object";

Object.getType=function(b){

  var a=b.constructor;

  if(!a||typeof a!=="function"||!a.__typeName||a.__typeName==="Object")return Object;

  return a

};

Object.getTypeName=function(a){

  return Object.getType(a).getName()

};

從上面我們能看到,Object.getType(type)這個靜態方法能獲取一個類的對象,而Object.getTypeName(type)通過調用[prototype]Type.getName()而獲取類的名(包括命名空間)。這沒有什么好說的,下面來看一下測試:

       

       

       

       

運行結果:

Test is success?
Success!
NExplus.ObjectTest

   這個比較簡單,微軟只是為了和.NET框架更接近而擴展的Object類,我覺得這兩個在研發過程中應該非常少用到吧,上面的測試順便測試一下屬性J。我非常想知道有沒有那個好心人翻譯了ECMAScript的規范文件,看英文真的好類;<.順便附上一只捆牢我的兩個操作符: ||:從第一個開始,遇見有意義的返回,否則返回最后一個表達式(不一定是Boolean值); &&:從第一個開始,遇見無意義(0,null,undefined,"",false,NaN)的返回,否則返回最后一個表達式(不一定是Boolean值)。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 日韩黄a | 色综合久久久久久 | 一区二区久久精品66国产精品 | 欧美久久一区 | 媚药按摩痉挛w中文字幕 | 一级毛片免费观看在线 | 久久精品国产亚洲7777 | 久久av喷吹av高潮av懂色 | 欧美一级毛片大片免费播放 | 欧美视频国产 | 久久国产精品久久久久久电车 | 亚洲精品 在线播放 | 欧美精品一区二区久久久 | 国产成人免费精品 | 在线观看中文字幕av | 高清视频一区二区 | 少妇一级淫片高潮流水电影 | 精品久久久一二三区播放播放播放视频 | 一区二区三高清 | 99成人在线| 亚洲一区二区国产 | 久久艹综合 | 欧美亚洲综合在线 | 91成人在线网站 | 午夜精品成人 | 最新av免费网址 | 色人阁导航 | 亚洲精久 | 日韩视频区 | 爱逼爱操综合网 | 巨乳激情 | 欧美成人精品不卡视频在线观看 | 在线观看免费毛片视频 | 日韩美香港a一级毛片 | 毛片在哪里看 | 日韩午夜片 | 国产精品免费麻豆入口 | 一级网站 | 久久久久久久久亚洲精品 | 免费观看国产精品视频 | 久久精品中文字幕一区二区三区 |