Memahami Object dan Fungsi Dalam JavaScript
A. Pendahuluan
Assalamu’alaikum wr. wb.
1. Pengertian
Fungsi JavaScript didefinisikan dengan function kata kunci.
Anda dapat menggunakan deklarasi fungsi atau ekspresi fungsi.
2. Latar Belakang
Objec dan fungsi dalam JavaScript apa sih perbedaan nya?
3. Maksud dan Tujuan
Agar lebih tau mengenai masing-masing fungsi dari objek dang fungsi yang yang ada pada JavaScript.
4. Hasil yang diharapkan
Mengetahui membedakan fungsi dan tau cara mengimplementasikan Objek dan Fungsi dalam JavaScript.
B. Alat dan Bahan
1. Laptop
2. Browser
3. Text Editor
4. File Items
C. Jangka Waktu Pelaksanaan Kegiatan
5 jam
D. Proses Tahap Pekerjaan
Objek Dalam JavaScript
Menggunakan Construktor Objek
Contoh yang ada di atas dibatasi dalam banyak situasi. Mereka hanya membuat satu objek.
Kadang-kadang kita ingin memiliki “jenis objek” yang dapat digunakan untuk membuat banyak objek dari satu jenis.
Cara standar untuk membuat “jenis objek” adalah dengan menggunakan fungsi objek konstruktor:
function person(first, last, age, eye)
{
this.firstName = first;
this.lastName = last;
this.age = age;
this.eyeColor = eye;
}
var myFather = new person("John", "Doe", 50, "blue");
var myMother = new person("Sally", "Rally", 48, "green");
Fungsi di atas (person) adalah konstruktor objek.
Begitu Anda memiliki konstruktor objek, Anda dapat membuat objek baru dengan tipe yang sama:
var myFather = new person("John", "Doe", 50, "blue");
var myMother = new person("Sally", "Rally", 48, "green");
The this Kata Kunci
Dalam JavaScript, hal yang disebut this, adalah objek yang “memiliki” kode JavaScript.
Nilai this, bila digunakan dalam fungsi, adalah objek yang “memiliki” fungsi.
Nilai this, bila digunakan dalam suatu objek, adalah objek itu sendiri.
The this kata kunci dalam konstruktor objek tidak memiliki nilai. Hal ini hanya pengganti objek baru.
Nilai this akan menjadi objek baru ketika konstruktor digunakan untuk membuat suatu objek.
Build-in Konstruktor JavaScript
JavaScript memiliki built-in konstruktor untuk objek asli:

Objek JavaScript yang Diunduh
Benda yang bisa berubah: Mereka yang ditangani oleh referensi, tidak berdasarkan nilai.
Jika y adalah obyek, pernyataan berikut tidak akan membuat salinan y:
Var x = y; //This will not create a copy of y.
Objek x bukan merupakan salinan dari y. Kedua x dan y poin ke objek yang sama.
Setiap perubahan y juga berubah x, karena x dan y adalah objek yang sama.

Properti JavaScript
Properti adalah nilai-nilai yang terkait dengan objek JavaScript.
Sebuah objek JavaScript adalah kumpulan sifat unordered.
Sifat biasanya dapat diubah, ditambahkan, dan dihapus, namun ada juga yang hanya membaca.
Mengakses Properti JavaScript
Sintaks untuk mengakses properti dan objek adalah:
objectName.property
atau
objectName[“property”]
atau
objectName[expression]
Contoh :
person.fistname + “ is “ + person.age + “ years old.”;
person[“firstname”] + “ is “ + person[“age”] + “ years old.”;

JavaScript for...in Simul
JavaScript for…in pernyataan loop melalui sifat-sifat suatu objek.
Sintaksisnya :
for (variableinobject) {code to be executed}
Blok kode bagian dalam for...in lingkaran akan dieksekusi sekali untuk setiap properti.
Contoh:
<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<script>
var txt = "";
var person = {fname:"John", lname:"Doe", age:25};
var x;
for (x in person) {
txt += person[x] + " ";
}
document.getElementById("demo").innerHTML = txt;
</script>
</body>
</html>
Menambahkan Properti Baru
Anda dapat menambahkan properti baru ke objek yang ada dengan hanya memberikan nilai.
<!DOCTYPE html>
<html>
<body>
<p>You can add new properties to existing objects.</p>
<p id="demo"></p>
<script>
var person = {
firstname:"John",
lastname:"Doe",
age:50,
eyecolor:"blue"
};
person.nationality = "English";
document.getElementById("demo").innerHTML =
person.firstname + " is " + person.nationality + ".";
</script>
</body>
</html>
Anda tidak dapat menggunakan kata-kata dicadangkan untuk properti (metode) nama.
Atau JavaScript penamaan berlaku.
Menghapus Properti
Delete kata kunci menhapus properti dari objek:
<!DOCTYPE html>
<html>
<body>
<p>You can delete object properties.</p>
<p id="demo"></p>
<script>
var person = {
firstname:"John",
lastname:"Doe",
age:50,
eyecolor:"blue"
};
delete person.age;
document.getElementById("demo").innerHTML =
person.firstname + " is " + person.age + " years old.";
</script>
</body>
</html>
Delete kata kunci menghapus kedua nilai properti dan properti itu sendiri. Setelah menghapus, properti tidak dapat digunakan sebelum ditambahkan kembali lagi. Operator delete dirancang untuk digunakan pada properti objek. Ini tidak berpengaruh pada variabel atau fungsi.
The delete Operator tidak boleh digunakan pada properti objek JavaScript yang telah ditetapkan. Ini dapat menyebabkan crash aplikasi Anda.
Atribut Properti
Semua properti memiliki nama. Selain itu mereka juga memiliki nilai. Nilai adalah salah satu atribut properti. Atribut lainnya adalah: enumerable, dikonfigurasi, dan ditulis.
Atribut ini mendefinisikan bagaimana properti dapat diakses (itu dibaca ?, itu dapat ditulis?) Dalam JavaScript, semua atribut dapat dibaca, tetapi hanya nilai atribut dapat diubah (dan hanya jika properti ditulis). (ECMAScript 5 memiliki metode untuk kedua mendapatkan dan mengatur semua atribut properti)
Prototipe Properti
Objek JavaScript mewarisi sifat dari prototipe mereka.
The delete kata kunci tidak menghapus sifat diwariskan, tetapi jika Anda menghapus prototype properti, itu akan mempengaruhi semua benda warisan dari prototipe.
Fungsi Dalam JavaScript
Fungsi Deklarasi
Sebelumnya dalam tutorial ini, Anda belajar bahwa fungsi dideklarasikan dengan sintaks berikut:
finction functionName ( parameters ) ( code to be executed }
Fungsi dinyatakan tidak dieksekusi segera. Mereka "disimpan untuk digunakan nanti", dan akan dieksekusi kemudian, ketika mereka dipanggil (dipanggil).
<!DOCTYPE html>
<html>
<body>
<p>This example calls a function which performs a calculation, and returns the result:</p>
<p id="demo"></p>
<script>
function myFunction(a, b) {
return a * b;
}
document.getElementById("demo").innerHTML = myFunction(4, 3);
</script>
</body>
</html>
Titik koma digunakan untuk memisahkan laporan JavaScript dieksekusi.
Sejak deklarasi fungsi tidak pernyataan dieksekusi, itu tidak umum untuk mengakhirinya dengan titik koma.
Fungsi Ekspresi
Sebuah fungsi JavaScript juga dapat didefinisikan menggunakan ekspresi.
Ekspresi fungsi dapat disimpan dalam variabel:
<!DOCTYPE html>
<html>
<body>
<p>A function can be stored in a variable:</p>
<p id="demo"></p>
<script>
var x = function (a, b) {return a * b};
document.getElementById("demo").innerHTML = x;
</script>
</body>
</html>
Setelah ekspresi fungsi telah disimpan dalam variabel, variabel dapat digunakan sebagai fungsi:
<!DOCTYPE html>
<html>
<body>
<p>After a function has been stored in a variable,
the variable can be used as a function:</p>
<p id="demo"></p>
<script>
var x = function (a, b) {return a * b};
document.getElementById("demo").innerHTML = x(4, 3);
</script>
</body>
</html>
Fungsi di atas sebenarnya fungsi anonim (fungsi tanpa nama).
Fungsi disimpan dalam variabel tidak perlu nama fungsi. Mereka selalu dipanggil (disebut) menggunakan nama variabel.
Fungsi di atas diakhiri dengan titik koma karena merupakan bagian dari pernyataan dieksekusi.
The Function() Konstruktor
Seperti yang Anda lihat pada contoh sebelumnya, fungsi JavaScript didefinisikan dengan function kata kunci.
Fungsi juga dapat didefinisikan dengan built-in fungsi JavaScript konstruktor disebut Function() .
Anda benar-benar tidak harus menggunakan fungsi konstruktor. Contoh di atas adalah sama dengan menulis.
Function Hosting
Sebelumnya dalam tutorial ini, Anda belajar tentang "hoisting" .
Mengangkat adalah perilaku default JavaScript untuk bergerak deklarasi ke atas ruang lingkup saat.
Mengangkat berlaku untuk deklarasi variabel dan deklarasi fungsi.
Karena itu, fungsi JavaScript bisa disebut sebelum mereka dinyatakan:
myFunction(5);
function myFunction(y) {
return y * y;
}
Fungsi didefinisikan menggunakan ekspresi tidak mengangkat.
Fungsi Self-Meminjam
Fungsi ekspresi dapat dibuat "permintaan otomatis".
Sebuah ekspresi diri-memohon dipanggil (mulai) secara otomatis, tanpa dipanggil.
Fungsi ekspresi akan mengeksekusi secara otomatis jika ungkapan diikuti oleh () .
Anda tidak dapat diri memohon deklarasi fungsi.
Anda harus menambahkan tanda kurung di sekitar fungsi untuk menunjukkan bahwa itu adalah ekspresi fungsi:
<!DOCTYPE html>
<html>
<body>
<p>Functions can be invoked automatically without being called:</p>
<p id="demo"></p>
<script>
(function () {
document.getElementById("demo").innerHTML = "Hello! I called myself";
})();
</script>
</body>
</html>
Fungsi di atas sebenarnya merupakan fungsi diri memohon anonymous (fungsi tanpa nama).
Fungsi Bisa Digunakan Sebagai nilai-nilai;
function myFungtion(,a b) {
return a * b;
}
var x = myFunction(4, 3);
Fungsi JavaScript dapat digunakan dalam ekspresi:
Function myFungtion(a, b) {
reurn a * b;
}
var x = myFunction(4, 3) * 2;
Fungsi yang Objets
The typeof operator dalam JavaScript mengembalikan "function" untuk fungsi.
Tapi, fungsi JavaScript dapat digambarkan sebagai obyek.
Fungsi JavaScript memiliki kedua sifat dan metode.
Properti arguments.length mengembalikan jumlah argumen yang diterima ketika fungsi itu dipanggil:
Function myFungtion(a, b) {
reurn arguments.length;
}
The toString() metode mengembalikan fungsi sebagai string:
Function myFunction(a, b) {
return a * b;
}
var txt = myFunction.toStrong();
G. Kesimpulan
Fungsi didefinisikan sebagai properti dari objek, disebut metode untuk objek.
Sebuah fungsi yang dirancang untuk membuat objek baru, disebut objek konstruktor.
H. Referensi
1. http://www.w3ii.com/id/js/js_object_definition.html
Tidak ada komentar