Rumah >hujung hadapan web >tutorial js >Pemahaman mendalam tentang objek dalam pengetahuan JavaScript_Basic

Pemahaman mendalam tentang objek dalam pengetahuan JavaScript_Basic

WBOY
WBOYasal
2016-05-16 15:56:471122semak imbas

JavaScript ialah bahasa pengaturcaraan berorientasikan objek (OOP). Bahasa pengaturcaraan boleh dipanggil berorientasikan objek dan menyediakan empat keupayaan asas kepada pembangun:

  • Enkapsulasi - menyimpan maklumat yang berkaitan, sama ada data atau kaedah atau objek
  • Pengagregatan - Simpan satu objek di dalam objek lain
  • Warisan - keupayaan kelas untuk bergantung pada kelas lain (atau kelas) untuk beberapa sifat dan kaedahnya
  • Polimorfisme - menulis fungsi atau kaedah yang berfungsi dalam pelbagai cara yang berbeza

Objek terdiri daripada sifat. Jika harta mengandungi fungsi, ia dianggap sebagai kaedah objek, jika tidak, harta itu dianggap sebagai harta.
Sifat objek:

Sifat sesuatu objek boleh terdiri daripada mana-mana daripada tiga jenis data asas, atau mana-mana jenis data abstrak, seperti objek lain. Sifat objek biasanya pembolehubah yang digunakan secara dalaman oleh kaedah objek, tetapi juga boleh menjadi pembolehubah yang digunakan secara global dan boleh dilihat di seluruh halaman.

Sintaks untuk menambah atribut ialah:

objectName.objectProperty = propertyValue;

Contoh:

Berikut ialah contoh mudah untuk menggambarkan cara menggunakan sifat "tajuk" objek fail untuk mendapatkan tajuk dokumen:

var str = document.title;


Kaedah objek:

Kaedah memberitahu objek untuk melakukan sesuatu. Terdapat sedikit perbezaan antara fungsi dan kaedah, kecuali pernyataan fungsi ialah unit bebas dan kaedah dilampirkan pada objek dan boleh dirujuk melalui kata kunci ini.

Kaedah boleh berguna untuk segala-galanya daripada memaparkan kandungan pada skrin objek kepada melaksanakan operasi matematik yang kompleks pada set sifat dan parameter tempatan.
Contoh:

Berikut ialah contoh mudah untuk menggambarkan cara menggunakan kaedah write() objek dokumen untuk menulis sebarang kandungan dalam dokumen:

document.write("This is test");


Objek yang ditakrifkan pengguna:

Semua objek yang ditentukan pengguna dan objek terbina dalam dipanggil keturunan objek.
pengendali baharu:

Pengendali baharu digunakan untuk mencipta tika objek. Untuk mencipta objek, pengendali baharu diikuti dengan kaedah pembina.

Dalam contoh berikut, kaedah pembina Object(), Array(), dan Date(). Pembina ini adalah fungsi JavaScript terbina dalam.

var employee = new Object();
var books = new Array("C++", "Perl", "Java");
var day = new Date("August 15, 1947");


Pembina Objek():

Pembina ialah fungsi yang digunakan untuk mencipta dan memulakan objek. JavaScript menyediakan pembina khas yang dipanggil Object() untuk membina objek. Nilai pulangan bagi konstruk Object() diberikan kepada pembolehubah.

Pembolehubah mengandungi rujukan kepada objek baharu. Sifat yang diberikan kepada objek ini adalah invarian dan tidak ditakrifkan menggunakan kata kunci var.
Contoh 1:

Contoh ini menunjukkan cara mencipta objek:

<html>
<head>
<title>User-defined objects</title>
<script type="text/javascript">
var book = new Object();  // Create the object
  book.subject = "Perl"; // Assign properties to the object
  book.author = "Mohtashim";
</script>
</head>
<body>
<script type="text/javascript">
  document.write("Book name is : " + book.subject + "<br>");
  document.write("Book author is : " + book.author + "<br>");
</script>
</body>
</html>


Contoh 2:

Contoh ini menunjukkan cara mencipta objek dan fungsi yang ditentukan pengguna. Di sini kata kunci ini digunakan untuk merujuk kepada objek yang telah dihantar ke fungsi:

<html>
<head>
<title>User-defined objects</title>
<script type="text/javascript">
function book(title, author){
  this.title = title; 
  this.author = author;
}
</script>
</head>
<body>
<script type="text/javascript">
  var myBook = new book("Perl", "Mohtashim");
  document.write("Book title is : " + myBook.title + "<br>");
  document.write("Book author is : " + myBook.author + "<br>");
</script>
</body>
</html>


Kaedah menentukan objek:

Contoh sebelumnya menunjukkan cara pembina mencipta objek dan memberikan sifat. Walau bagaimanapun, kita perlu menggunakan kaedah peruntukan untuk melengkapkan definisi objek.
Contoh:

Berikut ialah contoh mudah untuk menggambarkan cara menambah fungsi dengan objek:

<html>
<head>
<title>User-defined objects</title>
<script type="text/javascript">

// Define a function which will work as a method
function addPrice(amount){
  this.price = amount; 
}

function book(title, author){
  this.title = title; 
  this.author = author;
  this.addPrice = addPrice; // Assign that method as property.
}

</script>
</head>
<body>
<script type="text/javascript">
  var myBook = new book("Perl", "Mohtashim");
  myBook.addPrice(100);
  document.write("Book title is : " + myBook.title + "<br>");
  document.write("Book author is : " + myBook.author + "<br>");
  document.write("Book price is : " + myBook.price + "<br>");
</script>
</body>
</html>


dengan kata kunci:

Kata kunci dengan digunakan sebagai trengkas untuk merujuk kepada sifat atau kaedah sesuatu objek.

Objek yang ditentukan sebagai parameter menjadi objek lalai untuk tempoh blok berikut. Sifat dan kaedah untuk objek boleh didapati pada objek yang tidak dinamakan.
Tatabahasa

with (object){
  properties used without the object name and dot
}

Contoh:

<html>
<head>
<title>User-defined objects</title>
<script type="text/javascript">

// Define a function which will work as a method
function addPrice(amount){
  with(this){
    price = amount; 
  }
}
function book(title, author){
  this.title = title; 
  this.author = author;
  this.price = 0;
  this.addPrice = addPrice; // Assign that method as property.
}
</script>
</head>
<body>
<script type="text/javascript">
  var myBook = new book("Perl", "Mohtashim");
  myBook.addPrice(100);
  document.write("Book title is : " + myBook.title + "<br>");
  document.write("Book author is : " + myBook.author + "<br>");
  document.write("Book price is : " + myBook.price + "<br>");
</script>
</body>
</html>

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn