C risiu s= 70, Fahrenhei t= 94 eUtus = 6 0 F a h re n h e it« 7
Thực thi các hàm toán học
Jav aS crip t cung cấp m ột class cài sẵn m à khơng th ể th ậ t sự được sử dụng để tạo m ột đối tượng - M ath. Mục đích của d a s s M ath là cung cấp tấ t cả loại hàm và hằng tốn học. Vì t ấ t cả th à n h viên của d a s s M ath được định nghĩa là static, bạn cĩ th ể trực tiếp gọi chúng sử dụng đối tượng M ath.
Cố tạo m ọt đồi tượng dựa vầo d a s s M ath sẽ a ẫ n đên m ột lỗi trong JavaS cript. Bạn cĩ th ể gọi các th à n h viên static của M ath sử dụng tốn tử chấm tương tự như bạn thường làm với các th à n h viên instance của b ấ t kỳ d a s s M ath. Bảng 3.6 liệt kê tê n của tấ t cả h ằn g định nghĩa sẵn được cung cấp bởi d a s s M ath.
C lass M ath cũng cung cấp m ột sơ" phương thức hữu dụng cho việc thực thi các phép tốn phức tạp như được trìn h bày tro n g bảng 3.7.
Ví dụ, nếu chúng ta muốn tạo m ột số m ả Ja v a S c rip t tậ n dụng các hàm và h ằn g tốn học được cung cấp bởi đối tượng M ath, chúng ta cĩ thể làm như sau:
// area of a 12-inch circle, (Pl ■* rA2)
var area = Math.PI * Math.pow (12/2, 2);
Í! lenytlì the íoĩig siue of a right angle tliangle
// assume, 5 inch base and 7 inches high, (aA2 + bA2 = CA2) var longside = Math.sqrt( Math.pow(5,2) + Math.pow(7,2) );
Điều bạn cẩn biấỉ
C ác th à n h v iê n in s ta n c e so v ớ i c á c th à n h v iê n s ta tic
Theo mặc định, các phương thức và thuộc tính của một c la ss sẽ được định
nghĩa là cá c thành viên instancẹ Điều này cĩ nghĩa là chúng chỉ CC' thể
được truy cập bên trong instance của một đối tượng dựa vào class đĩ. Những đối tượng này được tạo sử dụng từ khĩa new và một bản sao mới của các thành viên instance của cla ss sẽ được tạo cho mỗi đối tượng mới được tạọ Nếu bạn tạo đối tượng dựa vào một cla ss, bạn cĩ 100 bản sao riêng biệt của mỗi phương thức và biến. Thay đổi giá trị của một trong tất cả bản sao sẽ khơng ảnh hưởng đến những bản sao khác.
C á c thuộc tính và phương thức của một cla ss cĩ thể tùy ý được định rghĩa là những thành viên static. C á c thành viên static chỉ cĩ thể được truy cập
Chương 3: Sử dụng các d a ss JavaScriDt cài sẵn 89
từ c la s s v à khơng phái là một phần củ a c á c in sta n c e đ ư ợ c tạo dựa và o c la s s đĩ. V ề cơ bản c á c thành viên c la s s static là global vì c h ỉ một phiên bản c ủ a thành viên đĩ từng hiện hữu bất kể bao n h iê u đối tượng đã được tạo từ nĩ.
Bảng 3.6 Một danh sách các hằng static được cung cẵ'p bởi Class Math
H ằng Mục đích
E Hằng Euler, 2.7183
LOG2E Loga cơ số 2 của E
LOGIOE Loga cơ sơ 10 của E
LN2 Lũga tự nhiên của 2
LN ] 0 Loga tự nhiên của 10
PI Pi, 3.1416
SQRT2 Căn bậc hai của 2
S^]ÌT1..2 Căn bậc 2 của một nửa (0.5)