• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    ASP.NET Atlas對JavaScript的擴展

    發布: 2007-6-11 12:45 | 作者: 網絡轉載 | 來源: 網絡 | 查看: 39次 | 進入軟件測試論壇討論

    領測軟件測試網

    JavaScript是一門非常強大的基于對象(Object Based)的語言,但是對面向對象(Object Oriented)的支持還存在一些不足,同時JavaScript內建的類庫也比較簡單,甚至缺乏一切很常用的功能。ASP.NET Atlas在運行時擴展了JavaScript,大大增強了它的面向對象支持能力,并擴展了一些開發時常用的操作。

    我參考了一下Atlas.js文件,總結出Atlas對JavaScript有如下擴展。某些地方有所遺漏或錯誤,還請各位包涵并指正。

    String對象的擴展

    1、String String.ltrim()

    移除原String開頭部分所有的空格,并返回一個新String對象。

    2、String String.rtrim()

    移除原String結尾部分所有的空格,并返回一個新String對象。

    3、String String.trim()

    移除原String開頭和結尾部分所有的空格,并返回一個新String對象。

    4、Boolean String.endsWidth(strEnd)

    該String是否以傳入的String結束。

    5、Boolean String.startsWith(strStart)

    該String是否以傳入的String開始。

    6、String String.format(args1,args2,.)

    類似于C#中的String.Format(),被操作的String中的{n}將被代替為相應的第n個參數,并返回一個新String對象。

    7、String String.removeSpaces()

    移除原String中的所有空格,并返回一個新String對象。

    8、String String.removeExtraSpaces()

    將原String中連續的空格置換成單一的空格(包括回車),并返回一個新String對象。

    9、String String.removeSpaceDelimitedString(str)

    將原String中的指定單詞(被空格分開的文字片斷)移除,并返回一個新String對象。這個方法可以用在刪除包含多個class名稱DOM元素的某個class名稱時候。

    Array對象的擴展

    1、void Array.queue(objValue)與void Array.add(objValue)

    將指定的objValue插入到該Array的末端。

    2、void Array.addRange(rangeArray)

    將指定的rangeArray加入該Array的尾部。

    3、Boolean Array.contains(objValue)與Boolean Array.exists(objValue)

    返回布爾值,代表該Array是否包含objValue項目。

    4、Array Array.clone()

    返回該Array的一個淺拷貝副本。

    5、void Array.insert(index, objValue)

    將指定的objValue插入到該Array的index位置。

    6、Object Array.dequeue()

    移除并返回該Array中的第一個條目。

    7、Object Array.removeAt(index)

    移除并返回該Array中指定的index的條目。

    8、Boolean Array.remove(objValue)

    移除該Array中指定的objValue條目,返回布爾值代表該條目是否存在并被成功移除。

    9、Array Array.parse(string)

    將傳入的以string表示的Array解析成Array。

    10、void Array.clear()

    清空該Array中的所有條目。

    11、Integer Array.get_length()

    返回該Array的條目數,等同于Array.length。

    12、Object Array.getItem(index)

    返回該Array中指定index的條目。

    Date對象的擴展

    1、String Date.toFormattedString(stringFormat)

    依照輸入的stringFormat格式化并輸出該Date對象(format string太多了……懶得寫了,需要的直接看Atlas.js中748-871行好了)。

    Number對象的擴展

    1、Number Number.parse(string)

    嘗試解析傳入的stirng為Number。

    2、String Number.toFormattedString(stringFormat)

    依照輸入的stringFormat格式化并輸出該Number對象(format string還是太多了……懶得寫了,需要的直接看Atlas.js中935-1024行)。

    Sys.StringBuilder類

    類似于C#中的StringBuilder:

    var sb = new Sys.StringBuilder();
    sb.append("<div>");
    sb.appendLine("a line of text");
    sb.append("</div>");
    someDOMElem.innerHTML = sb.toString();

    面向對象的支持

    定義可以被繼承的基類

    BaseClass = function()
    {
     // object
    }
    BaseClass.registerClass("BaseClass");

    繼承類

    DerivedClass = function()
    {
     // Call base constructors
     // The 2nd argument is an array you can use to pass arguments
     DerivedClass.intializeBase(this,arguments);
    }
    DerivedClass.registerClass("DerivedClass","BaseClass");

    多重繼承

    MultipleInherit= function()
    {
     MultipleInherit.intializeBase(this,arguments); // bootstrap
     // object
    }
    MultipleInherit.registerClass("MultipleInherit",["BaseClass", "DerivedClass"]);

    定義可被覆寫(override)的方法

    BaseClass = function()
    {
     // object
     this.initialize = function()
     {}
     BaseClass.registerBaseMethod(this,"initialize");
    }
    BaseClass.registerClass("BaseClass");

    調用基類被覆寫的方法

    DerivedClass = function()
    {
     DerivedClass.initializeBase(this,arguments); // bootstrap
     this.initialize = function()
     {
      DerivedClass.getBaseMethod(this,"BaseClass","initialize").call(this);
      // To pass arguments to base class:
      // .call(this,args1,args2,args3)
     }
    }
    DerivedClass.registerClass("DerivedClass",["Atlas.Bindings.Base","BaseClass"]);

    名稱空間

    registerNamespace("Web.Utility");
    // Implement Web Utility
    registerNamespace("Web.Performance");
    // Implement Performance

    定義Enum類型

    var theEnum = Type.createEnum("name1","name2");
    for (var strItems in theEnum.getValues())
    {}

    定義Flag類型

    var theFlags = Type.createFlags("name1",value1,"name2",value2,);

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: asp net 擴展 atlas javascript


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>