Thứ Sáu, 1 tháng 1, 2016

NKHT

Nhật ký học tập: Lập trình hướng đối tượng với Javascript - Phần 1

Ngày 04 tháng 08 năm 2013

Lập trình hướng đối tượng với Javascript - Phần 1

Giới thiệu

Trong nhiều ngôn ngữ lập trình (như C# hoặc Java), function và object là 2 thứ riêng biệt. Nhưng trong Javascript, sự phân biệt này bị lu mờ đi. Một hàm trong Javascript thực sự là 1 đối tượng khi bạn liên kết với mã thực thi.
Cách 1: Gọi hàm thông thường
function func(x) {
    alert(x);
}

func("blah");

Cách 2: Gọi đối tượng
var func = function(x) {
    alert(x);
};

func("blah2");
Cách 3: Gọi đối tượng và truyền tham số
var func = new Function("x", "alert(x);");

func("blah3");
Vì function là một đối tượng, bạn có thể thiết lập thêm thuộc tính hay hàm vào cho nó
function sayHi(x) {
    alert("Hi, " + x + "!");
}

sayHi.text = "Hello World!";

sayHi["text2"] = "Hello World... again.";

sayHi.say = function(){
     alert("Hi");   
}

alert(sayHi["text"]); // displays "Hello World!"

alert(sayHi.text2); // displays "Hello World... again."

sayHi.say();
Bạn có thể tạo đối tượng theo cú pháp JSON (tham khảo bài viết về JSON)
sayHi = {
    text : "Hello World!"
}
alert(sayHi.text);

Khai báo class với Javascript

Nhắc tới OOP, bạn sẽ nghĩ đến từ khóa đầu tiền là class. Tuy nhiên, Javascript không có từ khóa class như C++, C# hay Java. Đầu tiên, chúng ta xem xét 1 ví dụ:
var person = new person();
Để khai báo class, bạn viết như sau:
person = function(){
 this.propertyA = “”;
 this.functionA = function(){
  //…
 }
}
var personA = new person();
Ví dụ:
var person = function(){
    this.name = "Alex Mack";
    this.say = function(){
          console.log(this.name);  
    };
}
var personA = new person();
personA.say();
Source code: Example 1, Example 2
Chúc các bạn thành công! 

0 nhận xét: