JavaScript เป็นภาษาแบบไดนามิกคุณสามารถเพิ่มแอตทริบิวต์ให้กับวัตถุที่รันไทม์หรือคุณสามารถลบแอตทริบิวต์ไปยังวัตถุได้
การคัดลอกรหัสมีดังนี้:
<html>
<head>
<script type = "text/javascript">
-
// 01. วิธีแรกในการกำหนดวัตถุ
var object = new Object ();
การแจ้งเตือน (Object.username);
//01.1 เพิ่มชื่อผู้ใช้แอตทริบิวต์
วัตถุ ["ชื่อผู้ใช้"] = "liujianglong";
//object.username="liujl ";
การแจ้งเตือน (Object.username);
//01.2 ลบชื่อผู้ใช้แอตทริบิวต์
ลบอ็อบเจ็กต์ username; // แอตทริบิวต์ชื่อผู้ใช้ถูกลบออกจากวัตถุวัตถุ
การแจ้งเตือน (Object.username);
-
// 02. วิธีที่สองในการกำหนดวัตถุ - วิธีที่พบบ่อยที่สุดในการกำหนดวัตถุใน JavaScript
var object = {ชื่อ: "จาง", อายุ: 10, เพศ: "fale"};
การแจ้งเตือน (Object.name);
การแจ้งเตือน (Object.age);
การแจ้งเตือน (Object.sex);
</script>
</head>
<body>
</body>
</html>
ชื่อคุณสมบัติ: ชื่อวิธียังตกลง เพราะฟังก์ชั่นเองเป็นวัตถุ
การเรียงลำดับอาร์เรย์ JavaScript
การคัดลอกรหัสมีดังนี้:
<! doctype html>
<html>
<head>
<script type = "text/javascript">
var array = [1,3,25];
-
var compare = function (num1, num2) {
var temp1 = parseint (num1);
var temp2 = parseint (num2);
if (temp1 <temp2) {
กลับ -1;
} อื่นถ้า (temp1 == temp2) {
กลับ 0;
}อื่น{
กลับ 1;
-
-
//array.sort(Compare);//01 ชื่อฟังก์ชันคือการอ้างอิงวัตถุ
-
// 02. ฟังก์ชั่นนิรนาม วิธี////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
array.sort (ฟังก์ชั่น c (num1, num2) {
var temp1 = parseint (num1);
var temp2 = parseint (num2);
if (temp1 <temp2) {
กลับ -1;
} อื่นถ้า (temp1 == temp2) {
กลับ 0;
}อื่น{
กลับ 1;
-
-
-
การแจ้งเตือน (อาร์เรย์);
</script>
</head>
<body>
</body>
</html>
มีหลายวิธีในการกำหนดวัตถุใน JavaScript (JavaScript ไม่มีแนวคิดของคลาสมีเพียงวัตถุเท่านั้น)
วิธีแรก: ขยายคุณสมบัติและวิธีการตามวัตถุที่มีอยู่
การคัดลอกรหัสมีดังนี้:
<script type = "text/javascript">
// 01. ขยายคุณสมบัติและวิธีการตามวัตถุที่มีอยู่
var object = new Object ();
Object.username = "Zhangsan";
Object.SayName = function (ชื่อ) {
this.username = ชื่อ;
การแจ้งเตือน (this.username);
-
การแจ้งเตือน (Object.username);
Object.sayname ("Lisi");
การแจ้งเตือน (Object.username);
</script>
วิธีนี้มีข้อ จำกัด เนื่องจาก JavaScript ไม่มีแนวคิดของชั้นเรียนเช่น Java หากคุณเขียนคลาสแล้วใหม่สามารถรับวัตถุที่มีคุณสมบัติและวิธีการเหล่านี้ได้
ในเวลานี้หากคุณต้องการมี Object2 คุณสามารถเขียนสำเนารหัสอื่น ๆ ที่กล่าวถึงข้างต้นซึ่งไม่ดีมาก
วิธีที่สอง: วิธีโรงงาน
คล้ายกับวิธีการคงที่จากโรงงานในชวา
การคัดลอกรหัสมีดังนี้:
<! doctype html>
<html>
<head>
<script type = "text/javascript">
// วิธีการโรงงานวัตถุ
var createObject = function () {
var object = new Object ();
Object.username = "Zhangsan";
Object.password = "123";
Object.get = function () {
การแจ้งเตือน (this.username+","+object.password);
-
วัตถุกลับ;
-
var obj1 = createObject ();
var obj2 = createObject ();
obj1.get ();
// แก้ไขรหัสผ่านของวัตถุ 2
obj2 ["รหัสผ่าน"] = "123456";
obj2.get ();
</script>
</head>
<body>
</body>
</html>
มีข้อเสียในการสร้างวัตถุในวิธีการข้างต้น (แต่ละวัตถุมีวิธีการรับซึ่งทำให้หน่วยความจำเสีย) และวิธีการปรับปรุงโรงงาน (วัตถุทั้งหมดแบ่งปันวิธีการรับ):
การคัดลอกรหัสมีดังนี้:
<! doctype html>
<html>
<head>
<script type = "text/javascript">
// รับเมธอดที่แชร์โดยวัตถุทั้งหมด
var get = function () {
การแจ้งเตือน (this.username+","+this.password);
-
// วิธีการโรงงานวัตถุ
var createObject = function (ชื่อผู้ใช้รหัสผ่าน) {
var object = new Object ();
Object.username = ชื่อผู้ใช้;
Object.password = รหัสผ่าน;
Object.get = get; // note: method Brackets ไม่ได้เขียนไว้ที่นี่
วัตถุกลับ;
-
// สร้างวัตถุด้วยวิธีการโรงงาน
var object1 = createObject ("จางซัน", "123");
var object2 = createObject ("lisi", "345");
// เรียกวิธีการรับ
Object1.get ();
Object2.get ();
</script>
</head>
<body>
</body>
</html>
วิธีที่สาม: การกำหนดวัตถุโดยตัวสร้าง
การคัดลอกรหัสมีดังนี้:
<! doctype html>
<html>
<head>
<script type = "text/javascript">
var get = function () {
การแจ้งเตือน (this.username+","+this.password);
-
ฟังก์ชันบุคคล (ชื่อผู้ใช้รหัสผ่าน) {
// ก่อนที่จะเรียกใช้รหัสบรรทัดแรกเครื่องยนต์ JS จะสร้างวัตถุให้เรา
this.username = ชื่อผู้ใช้;
this.password = รหัสผ่าน;
this.get = get;
// ที่นี่มีคำสั่งส่งคืนที่ซ่อนอยู่ที่ใช้ในการส่งคืนวัตถุที่สร้างขึ้นก่อนหน้านี้ [ซึ่งแตกต่างจากรูปแบบโรงงาน]
-
var person = บุคคลใหม่ ("จาง", "123");
person.get ();
</script>
</head>
<body>
</body>
</html>
วิธีที่สี่: สร้างวัตถุในวิธีต้นแบบ
ต้นแบบเป็นคุณสมบัติในวัตถุวัตถุและวัตถุบุคคลทั้งหมดสามารถมีต้นแบบคุณสมบัติ
คุณสามารถเพิ่มคุณสมบัติและวิธีการบางอย่างให้กับต้นแบบของวัตถุ
ข้อเสียของการใช้ต้นแบบเพื่อสร้างวัตถุ: ①ไม่สามารถผ่านพารามิเตอร์ได้คุณสามารถเปลี่ยนค่าได้หลังจากสร้างวัตถุเท่านั้น
②ข้อผิดพลาดของโปรแกรมอาจเกิดขึ้น
การคัดลอกรหัสมีดังนี้:
<! doctype html>
<html>
<head>
<script type = "text/javascript">
ฟังก์ชั่นบุคคล () {
-
person.prototype.username = "Zhangsan";
person.prototype.password = "123";
person.prototype.getInfo = function () {
การแจ้งเตือน (this.username+","+this.password);
-
var person1 = คนใหม่ ();
var person2 = คนใหม่ ();
person1.username = "lisi";
person1.getInfo ();
person2.getInfo ();
</script>
</head>
<body>
</body>
</html>
การคัดลอกรหัสมีดังนี้:
<! doctype html>
<html>
<head>
<script type = "text/javascript">
ฟังก์ชั่นบุคคล () {
-
person.prototype.username = new Array ();
person.prototype.password = "123";
person.prototype.getInfo = function () {
การแจ้งเตือน (this.username+","+this.password);
-
var person1 = คนใหม่ ();
var person2 = คนใหม่ ();
person1.username.push ("Wanglaowu");
person1.username.push ("Wanglaowu2");
person2.password = "456";
person1.getInfo ();
person2.getInfo ();
</script>
</head>
<body>
</body>
</html>
เพียงแค่กำหนดวัตถุโดยใช้ต้นแบบคุณจะไม่สามารถกำหนดค่าเริ่มต้นให้กับแอตทริบิวต์ในคอนสตรัคเตอร์ได้อีกต่อไปและคุณสามารถเปลี่ยนค่าแอตทริบิวต์ได้หลังจากสร้างวัตถุเท่านั้น
วิธีที่ห้า: ใช้ Prototype + Constructor เพื่อกำหนดวัตถุ -----------------
คุณสมบัติระหว่างวัตถุไม่รบกวนกันและกัน
แบ่งปันวิธีเดียวกันระหว่างวัตถุ
การคัดลอกรหัสมีดังนี้:
<! doctype html>
<html>
<head>
<script type = "text/javascript">
// ใช้วิธีต้นแบบ + ตัวสร้างเพื่อกำหนดวัตถุ
ฟังก์ชั่นบุคคล () {
// คำจำกัดความของแอตทริบิวต์ในตัวสร้าง
this.username = new Array ();
this.password = "123";
-
// วิธีการถูกกำหนดไว้ในต้นแบบ
person.prototype.getInfo = function () {
การแจ้งเตือน (this.username+","+this.password);
-
var p1 = คนใหม่ ();
var p2 = คนใหม่ ();
p1.username.push ("จางซาน");
p2.username.push ("lisi");
p1.getInfo ();
p2.getInfo ();
</script>
</head>
<body>
</body>
</html>
วิธีที่หก: วิธีการต้นแบบแบบไดนามิก -------- การใช้งานแนะนำ
ในตัวสร้างวัตถุทั้งหมดแบ่งปันวิธีการผ่านปริมาณธงและแต่ละวัตถุมีคุณสมบัติของตัวเอง
การคัดลอกรหัสมีดังนี้:
<! doctype html>
<html>
<head>
<script type = "text/javascript">
var person = function (ชื่อผู้ใช้รหัสผ่าน) {
this.username = ชื่อผู้ใช้;
this.password = รหัสผ่าน;
if (typeof person.flag == "undefined") {
การแจ้งเตือน ("เรียก");
person.prototype.getInfo = function () {
การแจ้งเตือน (this.username+","+this.password);
-
person.flag = true;
-
-
var p1 = บุคคลใหม่ ("จาง", "123");
var p2 = บุคคลใหม่ ("lisi", "456");
p1.getInfo ();
p2.getInfo ();
</script>
</head>
<body>
</body>
</html>