วัตถุฟังก์ชั่นแต่ละรายการมีแอตทริบิวต์ความยาวซึ่งระบุจำนวนพารามิเตอร์ที่ฟังก์ชั่นคาดว่าจะได้รับ
การคัดลอกรหัสมีดังนี้:
<html>
<head>
<script type = "text/javascript">
var add = function (num1, num2, num3) {
การแจ้งเตือน (num1+num2+num3);
-
การแจ้งเตือน (add.length);
</script>
</head>
<body>
</body>
</html>
เกี่ยวกับการสร้าง JS เชิงวัตถุ
เป้า:
สร้างวัตถุสั่งซื้อ
มีสามแอตทริบิวต์: วันที่จำนวนเงินผู้ส่ง
มีวิธีการ: แสดงสตริง: "xx ส่งคำสั่งซื้อด้วยโควต้าของ: xxxx yuan ใน xxx-xx-xx"
วิธีการหนึ่งโรงงาน
การคัดลอกรหัสมีดังนี้:
<script type = text/javascript>
-
วิธีการโรงงาน: ส่งคืนวัตถุโดยใช้วิธีการไม่จำเป็นต้องสร้างวัตถุใหม่ผ่านใหม่เมื่อใช้งาน
-
ฟังก์ชั่น createOrder () // คุณยังสามารถสร้างวิธีการโรงงานด้วยพารามิเตอร์เพื่อเริ่มต้นข้อมูลวัตถุตามพารามิเตอร์ที่ผ่าน
-
ลำดับ var = วัตถุใหม่ ();
order.date = "1990-1-1";
order.price = "3200";
order.name = "Vince Keny";
order.show = function () // หากคุณวางวิธีการแสดงในโรงงานคุณจะสร้างวิธีการแสดงสำหรับแต่ละอินสแตนซ์แยกกัน การสูญเสียทรัพยากรเป็นข้อเสียของรูปแบบนี้
-
การแจ้งเตือน (this.name + "in" + this.date + "คำสั่งซื้อด้วยโควต้าของ" + this.price + "rmb.")
-
คำสั่งซื้อคืน;
-
// ส่งคืนวัตถุโดยใช้โหมดโรงงาน:
ลำดับ var = createOrder ();
// มันยังสามารถใช้ด้วยวิธีนี้เปลี่ยนรูปแบบโรงงานเป็น "pseudo-constructor" เนื่องจากมีการใช้ใหม่ในโรงงานผู้ให้บริการใหม่เมื่อสร้างวัตถุจะถูกละเว้น
var order2 = new createOrder ();
order.show ();
order2.show ();
</script>
สองวิธีตัวสร้าง
การคัดลอกรหัสมีดังนี้:
-
วิธีการสร้างและการประกาศวิธีการนั้นเหมือนกับวิธีการโรงงานและมีปัญหาเดียวกันและสามารถสกัดได้ ความแตกต่างคือสิ่งนี้ใช้ในการประกาศคุณลักษณะ
และคุณต้องใช้ตัวดำเนินการใหม่เพื่อสร้างอินสแตนซ์
-
ฟังก์ชั่นลำดับ ()
-
this.date = "1990-1-1";
this.price = "3200";
this.name = "Vince Keny";
this.show = function ()
-
การแจ้งเตือน (this.name + "in" + this.date + "คำสั่งซื้อด้วยโควต้าของ" + this.price + "rmb.")
-
-
คำสั่งซื้อ var = new order ();
order.show ();
สามวิธีต้นแบบ
การคัดลอกรหัสมีดังนี้:
-
วิธีการต้นแบบ: ใช้ต้นแบบ
-
ฟังก์ชั่นลำดับ ()
-
order.prototype.date = "1990-1-1";
order.prototype.price = "3200";
order.prototype.name = "Vince Keny";
order.prototype.show = function ()
-
การแจ้งเตือน (this.name + "in" + this.date + "คำสั่งซื้อด้วยโควต้าของ" + this.price + "rmb.")
-
คำสั่งซื้อ var = new order ();
order.show ();
วิธีการสร้าง/ต้นแบบแบบไฮบริดสี่แบบ
การคัดลอกรหัสมีดังนี้:
-
Hybrid Constructor/Prototype Method: เริ่มต้นฟิลด์แอตทริบิวต์โดยใช้วิธีตัวสร้างและใช้วิธีต้นแบบเพื่อสร้างวิธีการ
-
ฟังก์ชั่นลำดับ ()
-
this.date = "1990-1-1";
this.price = "3200";
this.name = "Vince Keny";
-
order.prototype.show = function ()
-
การแจ้งเตือน (this.name + "in" + this.date + "คำสั่งซื้อด้วยโควต้าของ" + this.price + "rmb.")
-
คำสั่งซื้อ var = new order ();
order.show ();
ห้าวิธีไฮบริดแบบไดนามิก
การคัดลอกรหัสมีดังนี้:
-
วิธีการผสมแบบไดนามิก: ความแตกต่างระหว่างวิธีการผสมอยู่ในตำแหน่งของการประกาศวิธีการ การใส่อายุการใช้งานของวิธีการภายในคอนสตรัคเตอร์นั้นสอดคล้องกับวัตถุที่มุ่งเน้นมากขึ้น
-
ฟังก์ชั่นลำดับ ()
-
this.date = "1990-1-1";
this.price = "3200";
this.name = "Vince Keny";
if (typeof order._initialized == "undefined"))
-
order.prototype.show = function ()
-
การแจ้งเตือน (this.name + "in" + this.date + "คำสั่งซื้อด้วยโควต้าของ" + this.price + "rmb.")
-
order._initialized = true;
-
-
Function Car (Scolor, Idoors) {
var otempcar = วัตถุใหม่;
OTEMPCAR.COLOR = SCOLOR;
OTEMPCAR.DOORS = IDOOES;
otempcar.showColor = function () {
Alert (this.color)
-
กลับ otempcar;
-
var ocar1 = รถใหม่ ("สีแดง", 4);
var ocar2 = รถใหม่ ("สีน้ำเงิน", 3);
ocar1.showcolor (); // เอาต์พุต "สีแดง"
ocar2.showcolor (); // เอาต์พุต "สีน้ำเงิน"