JavaScript: Đối tượng Function

Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
Giải phóng thời gian, khai phóng năng lực

Đối tượng Function (đã được đưa vào JavaScript từ phiên bản JavaScript 1.1) dùng để định nghĩa một hàm dưới dạng một đối tượng động. Nó cho phép định nghĩa một chuỗi tại thời điểm thực thi (runtime) và được biến dịch dưới dạng một hàm. Ta có thể sử dụng hàm tạo Function() để tạo một biến chứa hàm. Vì hàm không có tên, cho nên nó thường được gọi là hàm nặc danh và đối số của nó được truyền dưới dạng các chuỗi phân cách nhau bằng dấu phẩy. Đối số cuối cùng là thân gồm các câu lệnh sẽ được thực thi khi nó được gọi. Nếu hàm tạo Function() không có đối số thì khối lệnh sẽ được truyền tới hàm tạo để định nghĩa chức năng cho hàm. Vì hàm cũng là các đối tượng cho nên nó cũng có các thuộc tính và phương thức.

Các đối tượng Function được áp dụng mỗi khi chúng được sử dụng, cho nên chúng được thực thi với tốc độ chậm hơn các hàm JavaScript thông thường.

Thuộc tính của đối tượng Function

length

Trả về số lượng đối số được truyền (thuộc tính chỉ đọc).

prototype

Cho phép đối tượng được tùy chỉnh bằng cách thêm thuộc tính và phương thức mới.

Phương thức của đối tượng Function

apply()

Cho phép áp dụng một phương thức giữa các hàm.

call()

Cho phép gọi một phương thức giữa các đối tượng.

Cú pháp

var Tên_hàm = new Function (Các_đối_số, Các_câu_lệnh_dạng_chuỗi);

Ví dụ định nghĩa hàm:

var addemUp = new Function ( "a", "b", "return a + b;" );

Ví dụ lời gọi hàm:

document.write(addemUp (10, 5));

Ví dụ áp dụng:

    <html><head><title>Function Object</title>

    </head>

    <body bgcolor=lightgreen>

    <font face="arial" size="+1">

    <center>

    Anonymous Functions and the Function Constructor<p>

    <script language="JavaScript">

1       var sum = new Function("a","b", "return a + b; ");

2       window.onload =  new Function ( "document.bgColor='yellow';");

3       document.write( "The sum is " + sum(5,10)+ "<br>");

        document.write( "The background color is yellow<br>");

    </script>

    </body></html>

Giải thích:

1. Tạo một đối tượng Function có tên sum gồm hai đối số a và b, và câu lệnh trả về tổng a+b.

2. Tạo một hàm với với một câu lệnh đổi màu nền của trang web và gán cho sự kiện onload của window. Điều này có nghĩa là nếu sau khi trang web được tải xong thì màu nền của nó sẽ chuyển thành màu 'yellow'.

3. Gọi đối tượng sum với hai đối số ứng với hai giá trị 5 va 10.

» Tiếp: Ví dụ về mảng (Array)
« Trước: Đối tượng Boolean
Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
Giải phóng thời gian, khai phóng năng lực
Copied !!!