JavaScript เป็นภาษา Object Based ที่ทรงพลังมาก แต่การรองรับ Object Oriented ยังคงมีข้อบกพร่องอยู่บ้าง ในเวลาเดียวกัน ไลบรารีคลาสในตัวของ JavaScript นั้นค่อนข้างเรียบง่ายและยังขาดฟังก์ชันที่ใช้กันทั่วไปทั้งหมดด้วยซ้ำ ASP.NET Atlas ขยาย JavaScript ณ รันไทม์ เพิ่มความสามารถในการสนับสนุนเชิงวัตถุอย่างมาก และขยายการดำเนินการบางอย่างที่ใช้กันทั่วไปในระหว่างการพัฒนา
ฉันอ้างถึงไฟล์ Atlas.js และสรุปว่า Atlas มีนามสกุลเป็น JavaScript ดังต่อไปนี้ มีการละเว้นหรือผิดพลาดในบางจุด ขออภัยและแก้ไขให้ด้วย
ส่วนขยายของวัตถุ String
1. String String.ltrim()
ลบช่องว่างทั้งหมดที่จุดเริ่มต้นของ String ดั้งเดิม และส่งคืนอ็อบเจ็กต์ String ใหม่
2. สตริง String.rtrim()
ลบช่องว่างทั้งหมดที่ส่วนท้ายของ String ต้นฉบับ และส่งคืนอ็อบเจ็กต์ String ใหม่
3. สตริง String.trim()
ลบช่องว่างทั้งหมดที่จุดเริ่มต้นและจุดสิ้นสุดของสตริงต้นฉบับ และส่งคืนอ็อบเจ็กต์ String ใหม่
4. บูลีน String.endsWidth (strEnd)
ไม่ว่า String นี้ลงท้ายด้วยการส่งผ่านใน String หรือไม่
5. บูลีน String.startsWith (strStart)
ไม่ว่า String นี้เริ่มต้นด้วยการส่งผ่านใน String หรือไม่
6. สตริง String.format (args1, args2,.)
คล้ายกับ String.Format() ใน C#, {n} ใน String ที่ถูกจัดการจะถูกแทนที่ด้วยพารามิเตอร์ที่ n ที่เกี่ยวข้อง และวัตถุ String ใหม่จะถูกส่งกลับ
7. สตริง String.removeSpaces()
ลบช่องว่างทั้งหมดออกจากสตริงเดิมและส่งกลับวัตถุสตริงใหม่
8. สตริง String.removeExtraSpaces()
แทนที่ช่องว่างที่ต่อเนื่องกันในสตริงต้นฉบับด้วยช่องว่างเดียว (รวมถึงการขึ้นบรรทัดใหม่) และส่งคืนวัตถุสตริงใหม่
9. สตริง String.removeSpaceDelimitedString (str)
ลบคำที่ระบุ (ส่วนของข้อความที่คั่นด้วยช่องว่าง) ออกจากสตริงดั้งเดิมและส่งกลับอ็อบเจ็กต์สตริงใหม่ วิธีการนี้สามารถใช้ในการลบชื่อคลาสที่มีองค์ประกอบ DOM ที่มีชื่อคลาสหลายชื่อ
ส่วนขยายของวัตถุ Array
1. void Array.queue(objValue) และ void Array.add(objValue)
แทรก objValue ที่ระบุในส่วนท้ายของอาร์เรย์นี้
2. โมฆะ Array.addRange (rangeArray)
เพิ่ม rangeArray ที่ระบุที่ส่วนท้ายของ Array
3. Boolean Array.contains(objValue) และ Boolean Array.exists(objValue)
ส่งกลับค่าบูลีนที่แสดงว่าอาร์เรย์มีรายการ objValue หรือไม่
4. อาร์เรย์ Array.clone()
ส่งกลับสำเนาตื้นของอาร์เรย์นี้
5. โมฆะ Array.insert (ดัชนี, objValue)
แทรก objValue ที่ระบุลงในตำแหน่งดัชนีของ Array
6. วัตถุ Array.dequeue()
ลบและส่งกลับรายการแรกในอาร์เรย์นี้
7. วัตถุ Array.removeAt (ดัชนี)
ลบและส่งกลับรายการที่ดัชนีที่ระบุในอาร์เรย์นี้
8.Boolean Array.remove (objValue)
ลบรายการ objValue ที่ระบุออกจาก Array และส่งคืนค่าบูลีนเพื่อระบุว่ามีรายการอยู่และถูกลบออกสำเร็จแล้ว
9. อาร์เรย์ Array.parse (สตริง)
แยกอาร์เรย์ขาเข้าที่แสดงด้วยสตริงลงในอาร์เรย์
10. โมฆะ Array.clear()
ล้างรายการทั้งหมดในอาร์เรย์นี้
11. จำนวนเต็ม Array.get_length()
ส่งกลับจำนวนรายการในอาร์เรย์นี้ ซึ่งเทียบเท่ากับ Array.length
12. วัตถุ Array.getItem (ดัชนี)
ส่งคืนรายการที่ดัชนีที่ระบุในอาร์เรย์นี้
ส่วนขยายของวัตถุวันที่
1. String Date.toFormattedString(stringFormat)
จัดรูปแบบและส่งออกวัตถุ Date ตามสตริงอินพุต รูปแบบ (มีสตริงรูปแบบมากเกินไป... ฉันขี้เกียจเกินไปที่จะเขียนมัน หากคุณต้องการ เพียงแค่ดูที่บรรทัด 748-871 ใน Atlas.js)
ส่วนขยายของอ็อบเจ็กต์ Number
1. Number Number.parse(string)
ลองแยกสตริงขาเข้าเป็นตัวเลข
2. สตริง Number.toFormattedString (stringFormat)
จัดรูปแบบและส่งออกวัตถุ Number ตามสตริงอินพุต รูปแบบ (สตริงรูปแบบยังมากเกินไป... ขี้เกียจเกินไปที่จะเขียน หากคุณต้องการ เพียงแค่ดูที่บรรทัด 935-1024 ใน Atlas.js)
คลาส Sys.StringBuilder
คล้ายกับ StringBuilder ใน C#:
var sb = new Sys.StringBuilder();
sb.ผนวก("<div>");
sb.appendLine("บรรทัดข้อความ");
sb.append("</div">");
someDOMElem.innerHTML = sb.toString();
การสนับสนุนเชิงวัตถุ
กำหนดคลาสพื้นฐานที่สามารถสืบทอด
BaseClass = function()
-
// วัตถุ
-
BaseClass.registerClass("BaseClass");
classDerivedClass ที่สืบทอดมา
= function()
-
// เรียกตัวสร้างฐาน
// อาร์กิวเมนต์ที่ 2 คืออาร์เรย์ที่คุณสามารถใช้เพื่อส่งผ่านอาร์กิวเมนต์
DerivedClass.intializeBase (นี่ อาร์กิวเมนต์);
-
DerivedClass.registerClass("DerivedClass", "BaseClass");
หลาย
inheritanceMultipleInherit= function()
-
MultipleInherit.intializeBase (นี่ อาร์กิวเมนต์); // bootstrap
// วัตถุ
-
MultipleInherit.registerClass("MultipleInherit",["BaseClass", "DerivedClass"]);
กำหนดวิธีการที่สามารถแทนที่
BaseClass = function()
-
// วัตถุ
this.initialize = ฟังก์ชั่น ()
-
BaseClass.registerBaseMethod(นี่,"เริ่มต้น");
-
BaseClass.registerClass("BaseClass");
เรียกวิธีการแทนที่ของคลาสฐาน
DerivedClass = function()
-
DerivedClass.initializeBase(นี่ อาร์กิวเมนต์); // bootstrap
this.initialize = ฟังก์ชั่น ()
-
DerivedClass.getBaseMethod(นี่,"BaseClass","เริ่มต้น").call(นี่);
// หากต้องการส่งอาร์กิวเมนต์ไปยังคลาสพื้นฐาน:
// .call(นี่,args1,args2,args3)
-
-
DerivedClass.registerClass("DerivedClass",["Atlas.Bindings.Base", "BaseClass"]);
เนมสเปซ
registerNamespace ("Web.Utility");
// ใช้งาน Web Utility
registerNamespace("เว็บ.ประสิทธิภาพ");
// ประสิทธิภาพการใช้งาน
กำหนดประเภท Enum
var theEnum = Type.createEnum("name1", "name2");
สำหรับ (var strItems ใน theEnum.getValues())
{}
กำหนดประเภทธง
var theFlags = Type.createFlags("name1",value1,"name2",value2,);