Hướng dẫn dùng newvar JavaScript Chi tiết

Hướng dẫn dùng newvar JavaScript Chi tiết

Thủ Thuật về Hướng dẫn dùng newvar JavaScript Chi Tiết


You đang tìm kiếm từ khóa Hướng dẫn dùng newvar JavaScript được Cập Nhật vào lúc : 2022-11-02 21:20:09 . Với phương châm chia sẻ Thủ Thuật về trong nội dung bài viết một cách Chi Tiết 2022. Nếu sau khi tìm hiểu thêm Post vẫn ko hiểu thì hoàn toàn có thể lại phản hồi ở cuối bài để Ad lý giải và hướng dẫn lại nha.


Nguồn: http://ruby-rails.hatenadiary.com/entry/20150311/1426062668


Nội dung chính Show


  • 1. Tạo object

  • 2. Định nghĩa và gán thuộc tính

  • 3. Xóa property

  • 4. Accessor property (getter/ setter)

  • 5. Định nghĩa class

  • 6. Constructor argument

  • 7. Định nghĩa

    instance method

  • 8. Định nghĩa class property và class method

  • 9. Kế thừa class

  • 10. Kế thừa class property và class method

Người dịch: Phạm Cẩm Anh


Tác giả là người đã có kinh nghiệm tay nghề làm những ngôn từ hướng đối tượng người dùng như Java và PhP từ trước. Bài viết này tác giả muốn trình làng đến cho những người dân chưa làm rõ Javascript về phía đối tượng người dùng đặc biệt quan trọng của Javascript.


1. Tạo object


Có thể dùng cặp dấu để tạo object.


Ngoài

ra cũng hoàn toàn có thể dùng toán tử new để tạo một object xác lập.


// Cách 1: Tạo object instance bằng

var obj = ;


// Cách 2: tạo instance bằng new

var obj = new Object(); // Object instance

var person = new Person(); // Person instance


2. Định nghĩa và gán thuộc tính


Nếu ta set giá trị property cho object, ta hoàn toàn có thể set giá trị và định nghĩa property.


var obj = ;

// Nếu property không được định nghĩa, sẽ trả về undefined

console.log(obj.prop); // => undefined


// Khi set giá trị cho property, cũng đồng thời định nghĩa property

obj.prop = 1;

console.log(obj.prop); // => 1

Khi tạo object, ta hoàn toàn có thể thiết lập, định nghĩa property

// Có thể định nghĩa, thiết lập property

var obj2 =

prop: 1,

prop2: ‘foo’

;


console.log(obj2.prop); // => 1

console.log(obj2.prop2); // => ‘foo’


3. Xóa property


Có thể xóa property dùng toán tử delete Sau khi xóa property, nếu dùng property này, sẽ trả về undefined in như khi property không được định nghĩa.


var obj = ;

obj.prop = 1;


// Xóa property

delete obj.prop;


// Khi tham chiếu property, trả về undefined

console.log(obj.prop); // => undefined


Đừng xóa property bằng bằng phương pháp gán property bằng undefined vì nếu làm thế thì khi sử dụng vòng lặp

for list ra list cá property, sẽ có được cả property được set là undefined. Vì thế hãy dùng toán tử delete để xóa property.


4. Accessor property (getter/ setter)


Có thể định nghĩa accessor property bằng hàm get và set


var circle =

radius : 1, // Bán kính

get diameter() return this.radius * 2; , // Gọi ra đường kính từ bán kính

set diameter(value) this.radius = value / 2; // Trả ra bán kính từ đường kính

;


circle.diameter = 5; // Gọi set diameter

console.log(circle.radius); // => 2.5

console.log(circle.diameter); // => 5 (Gọi get diameter)


5. Định nghĩa class


Có thể định nghĩa class của Javascript bằng bằng định nghĩa property trong constructor


// Đinh nghĩa Person class (constructor)

var Person = function(name, age)

this.name = name;

this.age = age;


// Tạo Person instance

var satoshi = new Person(‘Satoshi’, 28);

console.log(satoshi.name); // => ‘Satoshi’

console.log(satoshi.age); // => 28

console.log(satoshi instanceof Person) // => true (satoshi là instance của class Person)


6. Constructor argument


Với Javascript hoàn toàn có thể lược bỏ đối số khi gọi hàm. Vì constructor cũng là hàm

nên hoàn toàn có thể lược bỏ đối số của constructor. Nhưng khi đó, constructor có đối số bị lược bỏ được gọi ra để tạo instance thì sẽ có được lỗi property không được định nghĩa (undefined).


Có 2 cách xử lý và xử lý:



  • Khởi tạo giá trị xác lập cho property




  • Ngắt chương trình tạo ra lỗi



Khởi tạo giá trị xác lập cho property


var Person = function(name, age)


// Khi không xác lập đối số cho constructor, giá trị khởi tạo nên sử dụng

var satoshi = new Person();

console.log(satoshi.name); // => ‘No name’

console.log(satoshi.age); // => 20


// Khi xác lập đối số cho constructor, giá tị này được sử dụng

var satoshi = new Person(‘サトシ’, 28);

console.log(satoshi.name); // => ‘サトシ’

console.log(satoshi.age); // => 28


Ngắt chương trình tạo ra lỗi


var Person = function(name, age)

// Kiểm tra đối số

if (name == undefined) throw new Error(“Please define argument ‘name'”);

if (age == undefined) throw new Error(“Please define argument ‘age'”);


this.name = name;

this.age = age;


// Khi không xác lập đối số của constructor, lỗi sẽ xuất hiện

var satoshi = new Person(); // => Error: Please define argument ‘name’


7. Định nghĩa

instance method


Có 2 cách định nghĩa method cho object trong Javascript:


  • Gán function cho property

  • Sử dụng object đặc chủng prototype

Gán function cho property


var Person = function(name, age)

this.name = name;

this.age = age;


// Gán function cho property

this.greet = function()

console.log(‘Hello, ‘ + this.name);


var satoshi = new Person(‘サトシ’, 20);


// Có thể gọi method ra

satoshi.greet(); // => ‘Hello, サトシ’


Vấn đề của phương pháp này là lúc tạo instance bằng phương pháp new Person(…), method greet() cũng khá được tạo ra nên lúc tạo instance, sẽ tiêu tốn lãng phí bộ nhớ. Để khắc phục điều này, hoàn toàn có thể dùng object đặc chủng là prototype như dưới đây.


Sử

dụng object đặc chủng prototype


var Person = function(name, age)

this.name = name;

this.age = age;


// Gán method cho toàn bộ những object property của class

Person.prototype.greet = function()

console.log(‘Hello, ‘ + this.name);


var satoshi = new Person(‘サトシ’, 20);


// Có thể gọi method ra

satoshi.greet(); // => ‘Hello, サトシ’


Nếu làm thế thì toàn bộ những instance Person khi tham chiếu đến Person.prototype.greet() nên sẽ không còn tiêu tốn lãng phí bộ nhớ.


Thứ tự xử lý tbên trong Javascript là lúc greet() method được gọi ra, thứ nhất sẽ tìm kiếm property được định nghĩa trong Person instance, nếu không tìm thấy sẽ tìm kiếm trong Person.prototype, khi tìm thấy sẽ chạy method greet()


8. Định nghĩa class property và class method


Class method của Javascript hoàn toàn có thể được định nghĩa tương

tự như định nghĩa class property.


var Person = function(name, age)

this.name = name;

this.age = age;


// Định nghĩa class property (hằng số)

// Biến lưu giá trị dưới bao nhiêu tuổi thì được gọi là trẻ young

Person.YOUNG_LIMIT_AGE = 20;


// Đinh nghĩa class method

// Nếu là young thì trả về true, ngược lại thì trả về false

Person.isYoung = function(age)

if (age <= Person.YOUNG_LIMIT_AGE)

return true;


return false;


// Gọi ra class propety

console.log(Person.YOUNG_LIMIT_AGE); // => 20


// Gọi ra class method

console.log(Person.isYoung(10)); // => true

console.log(Person.isYoung(30)); // => false


Hằng số thường được định nghĩa bởi chữ viết hoa nhưng không còn quy định không thể thay đổi như trong Ruby.


9. Kế thừa class


Trong Javascript không còn cấu trúc để thừa kế, thực thi thừa kế bằng phương pháp sau:


  • Kế thừa property: goi method apply

  • Kế thừa method: sử dụng object prototype

Việc thừa kế class trong Javascript rất phức tạp, với code nhỏ thì không dùng, với code lớn

thì dùng những library để thừa kế.


Kế thừa property: goi method apply Trong constructor của sub class, nếu gọi method apply của super class, sub class hoàn toàn có thể thừa kế property của super class.


// Person class

var Person = function(name, ageavascript)

this.name = name;

this.age = age;


// Employee thừa kế Person

var Employee = function(name, age, jobTitle)

this.jobTitle = jobTitle;


// Gọi constructor của super class

Person.apply(this, [name, age]);


var satoshi = new Employee(‘サトシ’, 28, ‘QA’);

console.log(satoshi.name); // => ‘サトシ’

console.log(satoshi.age); // => 28

console.log(satoshi.jobTitle); // => ‘QA’

console.log(satoshi instanceof Employee); // => true


Kế thừa method: sử dụng object prototype


Có thể sử dụng prototype chain của object prototype để thừa kế


// Định nghĩa Person class

var Person = function(name, age)

this.name = name;

this.age = age;


// Định nghĩa method Person#greet()

Person.prototype.greet = function()

console.log(‘Hello, ‘ + this.name);


// Đinh nghĩa class Employee thừa kế Person

var Employee = function(name, age, jobTitle)

this.jobTitle = jobTitle;


// Kế thừa property của Person

Person.apply(this, [name, age]);


// Set Person instance bằng prototype chain

// Khi gọi method Employee instance, tìm kiếm xem method có trong trong method Person.prototype không

Employee.prototype = Object.create(Person.prototype);


// Ở phía trên constructor property trở thành Person nên ở đây set lại là Employee

Employee.prototype.constructor = Employee;


var satoshi = new Employee(‘サトシ’, 28, ‘QA’);

satoshi.greet(); // => ‘Hello, サトシ’

console.log(satoshi.constructor); // => Employee constructor ( function(name, age, jobTitle) … )


10. Kế thừa class property và class method


Về cơ bản, trong Javascript không thực thi thừa kế class property và class

method. Ở đây, Sub class sử dụng class property và class method của super class nên nếu thừa kế, những định nghĩa property cần copy xuống sub class nên sẽ bị lặp code.


Tải thêm tài liệu liên quan đến nội dung bài viết Hướng dẫn dùng newvar JavaScript


programming

javascript

Object literal js

Reduce js


Hướng dẫn dùng newvar JavaScriptReply
Hướng dẫn dùng newvar JavaScript8
Hướng dẫn dùng newvar JavaScript0
Hướng dẫn dùng newvar JavaScript Chia sẻ


Share Link Tải Hướng dẫn dùng newvar JavaScript miễn phí


Bạn vừa Read Post Với Một số hướng dẫn một cách rõ ràng hơn về Review Hướng dẫn dùng newvar JavaScript tiên tiến và phát triển nhất Share Link Down Hướng dẫn dùng newvar JavaScript Free.



Hỏi đáp vướng mắc về Hướng dẫn dùng newvar JavaScript


Nếu sau khi đọc nội dung bài viết Hướng dẫn dùng newvar JavaScript vẫn chưa hiểu thì hoàn toàn có thể lại Comment ở cuối bài để Admin lý giải và hướng dẫn lại nha

#Hướng #dẫn #dùng #newvar #JavaScript

Related posts:

Post a Comment

Previous Post Next Post

Discuss

×Close