---------
Phần 19.
Căn bản lập trình JavaScript (2)
Clip 14: Đối tượng Number
Đối tượng Number bao gồm số nguyên và số thực.
Ví dụ,
var n = new Number(10);
document.write(n);
Clip 15: thuộc tính của đối tượng Number
Thuộc tính constructor trả về hàm khởi tạo. Ví dụ,
var n = new
Number(10);
document.write(n.constructor);
Kết quả xuất ra
màn hình là:
function Number() { [native code] }
Hàm isNaN() để
kiểm tra một đối tượng không phải là số, nếu là số trả về false, nếu không là
số trả về true.
Ví dụ,
document.write(isNaN('abc')); // true
document.write(isNaN(9)); //false
Ví dụ sử dụng isNaN(),
var a = 5;
var b = 'xyz';
var result;
if(isNaN(a/b)){
result = 'Phép toán
không thực hiện được';
} else {
result = a/b;
}
document.write('Ket
qua: ' + result);
Thuộc tính prototype
được sử dụng để thêm phương thức hoặc thuộc tính cho một đối tượng. Ví dụ thêm
thuộc tính rezo cho đối tượng Number,
var n = new Number(9);
Number.prototype.zero
= 0;
document.write(n.zero);
Clip 16: một số phương thức của đối tượng Number
– toFixed(): dùng để làm tròn một số, biến được làm tròn sẽ
chuyển thành kiểu string, có thể kiểm tra bằng typeof() hoặc thuộc tính constructor.
Ví dụ,
var n = new Number(9.1234);
document.write('Làm
tròn 2 số thập phân: ' + n.toFixed(2));
//Kết quả: Làm tròn 2 số thập phân: 9.12
– toPrecision(): xác định số chữ số sẽ lấy
Ví dụ,
var n = new Number(9.1234);
document.write('2 số:
' + n.toPrecision(2) + '<br>'); // 9.1
document.write('giữ
nguyên số: ' + n.toPrecision() + '<br>'); // 9.1234
document.write('3 số:
' + n.toPrecision(3)); // 9.12
– valueOf(): lấy giá trị của đối tượng Number (xem thêm trong
phần tạo một prototype)
var n = new Number(15);
document.write('Giá
trị của biến n: ' + n.valueOf());
Tìm hiểu thêm các phương thức khác của đối tượng Number.
Clip 17: Tạo prototype cho đối tượng Number
Viết hàm trả về kí số lớn nhất của một số, ví dụ cho số 1463
thì trả về kí số 6.
var n = 1463;
var maxDigit = 0;
while(n > 0){
var temp = n % 10;
maxDigit = maxDigit < temp ? temp :
maxDigit;
n = (n - temp) / 10;
}
document.write(maxDigit);
Chuyển hàm trên thành một prototype của đối tượng Number,
var n = 1463;
Number.prototype.getMaxDigit = function(){
var maxDigit = 0;
var number =
this.valueOf();
while(number >
0){
var temp = number
% 10;
maxDigit = maxDigit < temp ? temp : maxDigit;
number = (number - temp) / 10;
}
return maxDigit;
}
document.write(n.getMaxDigit());
Bài tập làm thêm:
– Đảo ngược các kí số của một số tự nhiên
– Tìm ước chung lớn nhất của hai số
– Tìm bội chung nhỏ nhất của hai số
Clip 18: đối tượng Array
Ba cách khai báo một đối tượng Array:
(1) var arr1 = new Array();
arr1[0] = 'HTML';
arr1[1] = 'CSS';
arr1[2] = 'JS';
(2) var arr2 = new Array('HTML', 'CSS', 'JS');
(3) var arr3 = ['HTML', 'CSS', 'JS'];
Dùng vòng lặp for (in) để duyệt tất cả phần tử của mảng,
for(x in arr1){ // x đóng vai trò là chỉ số i
document.write(arr1[x] + '<br>');
}
Nếu muốn in mảng, đơn giản chỉ là,
document.write(arr1);
Để biết mảng có bao nhiêu phần tử, sử dụng thuộc tính
length,
document.write(arr1.length);
Clip 19: phương thức của Array
Để nối mảng dùng phương thức concat(),
var arr1 = new Array('HTML', 'CSS', 'JS');
var arr2 = ['PHP'];
var arr3 = new
Array();
arr3 =
arr1.concat(arr2);
document.write(arr3);
Trả về vị trí tìm thấy (đầu tiên) một phần tử trong mảng,
dùng phương thức indexOf(),
var arr1 = new Array('HTML', 'CSS', 'JS', 'JS');
document.write('Vị
trí của JS (đầu tiên): ' + arr1.indexOf('JS'));
Trả về vị trí tìm thấy (cuối cùng) một phần tử trong mảng,
dùng phương thức lastIndexOf(),
var arr1 = new Array('HTML', 'CSS', 'JS', 'JS');
document.write('Vị
trí (cuối cùng) của JS: ' + arr1.lastIndexOf('JS'));
Sử dụng phương thức join() để chèn “kí tự nối” giữa các phần
tử,
var arr1 = new Array('HTML', 'CSS', 'JS', 'JS');
document.write('Mảng mới: ' + arr1.join('-'));
Clip 20: phương thức của Array (tt)
– pop(): lấy phần tử cuối ra khỏi mảng
Ví dụ,
var arr = new Array('HTML', 'CSS', 'JS');
var lastItem = arr.pop();
document.write('lastItem: ' + lastItem + '<br>');
document.write('arr: ' + arr);
– shift(): lấy
phần tử đầu ra khỏi mảng
Ví dụ,
var arr = new
Array('HTML', 'CSS', 'JS');
var firstItem =
arr.shift();
document.write('firstItem: ' + firstItem + '<br>');
document.write('arr: ' + arr);
– push(): thêm phần
tử vào cuối mảng. Hàm này trả về số phần tử hiện có của mảng
Ví dụ,
var arr = new Array('HTML', 'CSS', 'JS');
var newItem = 'PHP';
document.write('pushed: ' + arr.push(newItem) + '<br>');
document.write('arr: ' + arr);
– unshift(): thêm
phần tử vào đầu mảng. Hàm này trả về số phần tử hiện có của mảng
Ví dụ,
var arr = new Array('HTML', 'CSS', 'JS');
var newItem = 'PHP';
document.write('unshifted: ' + arr.unshift(newItem) + '<br>');
document.write('arr: ' + arr);
Clip 21: phương thức của đối tượng Array(tt)
– slice(start, end): copy các phần tử của mảng, từ phần tử start đến phần tử end (không tính phần tử end), các phần tử được copy ra một mảng mới.
Ví dụ,
var arr = new Array('HTML', 'CSS', 'JS', 'PHP', 'Bootstrap');
var newArr = new
Array();
newArr = arr.slice(1,
3); //lấy hai phần tử thứ 1, và 2
document.write('newArr: ' + newArr + '<br>');
document.write('arr:
' + arr);
– sort(): sắp xếp mảng
var arr = new Array('HTML', 'CSS', 'JS', 'PHP', 'Bootstrap');
document.write('sorted:
' + arr.sort() + '<br>');
– splice(): để thêm và xóa các phần tử của một mảng
Ví dụ xóa phần tử,
var arr = new Array('HTML', 'CSS', 'JS', 'PHP', 'Bootstrap');
document.write('arr:
' + arr + '<br>');
// xóa từ vị trí 1,
xóa 2 phần tử
document.write('spliced: ' + arr.splice(1, 2) + '<br>');
document.write('arr:
' + arr + '<br>');
Ví dụ thêm phần tử,
var arr = new Array('HTML', 'CSS', 'JS', 'PHP', 'Bootstrap');
document.write('arr: ' + arr + '<br>');
// thêm từ vị trí 1, thêm 2 phần tử
document.write('spliced: ' +
arr.splice(1, 0, 'HTML1', 'HTML2') + '<br>');
document.write('arr: ' + arr + '<br>');
Ví dụ, xóa hai
phần tử, thêm ba phần tử,
var arr = new Array('HTML', 'CSS', 'JS', 'PHP', 'Bootstrap');
document.write('arr: ' + arr + '<br>');
// xóa từ vị trí 1, xóa 2 phần tử, sau đó
thêm 3 phần tử
document.write('spliced: ' +
arr.splice(1, 2, 'HTML1', 'HTML2', 'HTML3') + '<br>');
document.write('arr: ' + arr + '<br>');
– reverse(): đảo
ngược các phần tử của mảng
Ví dụ,
var arr = new Array('HTML', 'CSS', 'JS', 'PHP', 'Bootstrap');
document.write('arr: ' + arr + '<br>');
document.write('reversed: ' +
arr.reverse() + '<br>');
– toString(): chuyển mảng thành chuỗi
-----------
Cập nhật [3/9/2020]
-----------
Xem thêm:
- Tổng hợp các bài viết về Ngu ngơ học làm web
- Ngu ngơ học làm web (20) - Căn bản lập trình JavaScript (3)
- Tổng hợp các bài viết về Ngu ngơ học làm web
- Ngu ngơ học làm web (20) - Căn bản lập trình JavaScript (3)