Vài thủ thuật nhỏ khi dùng javascript
Bài đăng này đã không được cập nhật trong 8 năm
Dưới đây là 1 vài cách vui vẻ thu gọn code, debugg mà mình học lỏm và đọc được, chia sẻ với các bạn:
1 Gọi phuơng thức
Đôi khi chúng ta phải if
thì thế này mà else
thì thế kia:
if (success) {
obj.start();
} else {
obj.stop();
}
Có thể viết thành thế này
var method = (success ? 'start' : 'stop');
obj[method]();
2 Nối chuỗi
Chắc chắn là chúng ta sẽ phải nối chuỗi rất nhiều, thay vì dùng +
thì có thể dùng join()
['đã', 'nối'].join(' '); // đã nối;
['nối', 'lại', 'với', 'nhau'].join(', '); // nối lại với nhau;
3 Trả về giá trị default
Một ví dụ bình thường
function setAge(age) {
if (age) {
this.age = age;
} else {
this.age = 10;
}
}
Có thể viết thành
function setAge(age) {
this.age = age || 10
}
Bây giờ gọi setAge()
luôn thì sẽ có kết quả default cho age
là 10.
4 Sử dụng &&
Có ví dụ:
if (isYes) {
alert('yes');
}
Có thể dùng như thế này:
isYes && alert('yes');
5 Xem thời gian chạy
Đọc cái hiểu luôn
var a = [1,2,3,4,5,6,7,8,9,10];
console.time('testing_forward');
for (var i = 0; i < a.length; i++);
console.timeEnd('testing_forward');
console.time('testing_backwards');
for (var i = a.length - 1; i >= 0; i--);
console.timeEnd('testing_backwards');
6 Debugging
var x = 1;
debugger; // Code execution stops here, happy debugging
x++;
var x = Math.random(2);
if (x > 0.5) {
debugger; // Conditional breakpoint
}
x--;
7 Template
var firstName = 'NoOne';
var screenName = 'no1'
// Bình thường thì viết như thế này
'Hi, my name is ' + firstName + ' and my xxx name is @' + screenName;
// Sửa lại như thế này có vẻ ngầu hơn
var template = 'Hi, my name is {first-name} and my twitter screen name is @{screen-name}';
var txt = template.replace('{first-name}', firstName)
.replace('{screen-name}', screenName);
All rights reserved