New
Loading...

Tự hỏi đáp

Trả lời

Thỉnh thoảng khi code bạn phải đặt một hàm hoặc lệnh nào đó trong một vòng lặp hoặc một đoạn code thực thi nhiều lần nhưng bạn chỉ muốn hàm đó chạy một lần duy nhất không lập đi lập lại theo vòng lặp. Sau đây là giải pháp:
Để chạy lệnh hoặc function một lần duy nhất trong Javascript các bạn làm như sau:

Viết một hàm tên runFunctionOnceTime (Hoặc các bạn đặt tên tùy ý):
function runFunctionOnceTime(fn, context) {
    var result;
    return function() {
        if(fn) {
            result = fn.apply(context || this, arguments);
            fn = null;
        }
        return result;
    };
}

Sau đó bạn viết một hàm mới với lệnh mà bạn muốn thực thi một lần duy nhất đặt trong vòng lặp:
var reloadColorPercent = runFunctionOnceTime(function() {
    //Lệnh bạn muốn chạy một lần duy nhất
});
reloadColorPercent ();

Nếu câu trả lời sai ngại gì không chỉnh? Nếu câu trả lời thiếu ngại gì không thêm? Nếu có câu trả lời hay hơn ngại gì không chia sẻ? Mời các bạn comment bên dưới


Tự hỏi đáp

Trả lời

Để kiểm tra biến có phải là một mảng hay không trong Javascript ta làm như sau:

Bạn dùng hàm constructor để kiểm tra biến đối với mảng thông thường:
Ví dụ:
if(variable.constructor === Array)
{
  // chạy lệnh nếu biến là một mảng
}else{
  // chạy lệnh nếu biến không phải là một mảng
}

Nếu là mảng object thì ta làm như sau:
if(variable.prop && variable.prop.constructor === Array)
{
  // chạy lệnh nếu biến là một mảng
}else{
  // chạy lệnh nếu biến không phải là một mảng
}

Nếu câu trả lời sai ngại gì không chỉnh? Nếu câu trả lời thiếu ngại gì không thêm? Nếu có câu trả lời hay hơn ngại gì không chia sẻ? Mời các bạn comment bên dưới


Tự hỏi đáp

Trả lời

Kí tự xuống dòng ( \n ) dùng để chèn vào đoạn string để xuống dòng khi soạn thảo hoặc import nội dung text, đôi khi bạn phải remove nó đi, sau đây là cách làm đơn giản bằng Javascript:

Bạn dùng hàm replace để remove chúng với 1 chuỗi rỗng (""):
Ví dụ:
var text = "text1\ntext2";
text.replace(/\r?\n|\r/g, '');
// return => "text1text2"


Nếu câu trả lời sai ngại gì không chỉnh? Nếu câu trả lời thiếu ngại gì không thêm? Nếu có câu trả lời hay hơn ngại gì không chia sẻ? Mời các bạn comment bên dưới


Tự hỏi đáp

Trả lời

TypeScript là một ngôn ngữ lập trình mã nguồn mở miễn phí được phát triển và bảo trì bởi Microsoft. Nó là tập cha của JavaScript, với các bổ sung các tuỳ chọn kiểu tĩnh và lớp trên cơ sở lập trình hướng đối tượng cho ngôn ngữ này. Anders Hejlsberg, cha đẻ ngôn ngữ C# và là người tạo ra ngôn ngữ Delphi và Turbo Pascal đã tham gia phát triển TypeScript. TypeScript có thể sử dụng để phát triển ứng dụng chạy phía client, hay phía server (Node.js)

TypeScript là gì? Học typescript ở đâu?

TypeScript được thiết kế để phát triển ứng dụng lớn và được biến đổi - biên dịch sang JavaScript. Vì TypeScript là tập cha của JavaScript nên bất kì chương trình JavaScript nào đã có cũng đều là chương trình TypeScript hợp lệ.

TypeScript hỗ trợ định nghĩa các file chứa thông tin kiểu của các thư viện JavaScript, giống như các file header của C/C++ mô tả cấu trúc của các file object. Điều này cho phép các chương trình khác sử dụng các giá trị được định nghĩa trong các file giống như các thực thể TypeScript được định kiểu tĩnh. Đó là các file header hãng thứ ba (third-party) cho các thư viện thông dụng như jQuery, MongoDB, D3.js. Các file header cho các module cơ bản cho Node.js cũng có sẵn cho phép phát triển chương trình Node.js bằng TypeScript.

Bản thân trình biên dịch TypeScript cũng được viết bằng TypeScript, biến đổi – biên dịch sang JavaScript và được cấp phép theo Giấy phép Apache 2.

TypeScript lần đầu được gắn sẵn như một ngôn ngữ lập trình trong Microsoft Visual Studio 2013 Update 2 và các phiên bản sau đó, cùng C# và các ngôn ngữ khác của Microsoft. Một thành phần mở rộng chính thức cũng cho phép Visual Studio 2012 hỗ trợ tốt cho TypeScript.

Bạn có thể học hay tìm hiểu thêm về ngôn ngữ này tại địa chỉ: www.typescriptlang.org


Nếu câu trả lời sai ngại gì không chỉnh? Nếu câu trả lời thiếu ngại gì không thêm? Nếu có câu trả lời hay hơn ngại gì không chia sẻ? Mời các bạn comment bên dưới


Tự hỏi đáp

Trả lời

Cách tính tổng một mảng số (number array) trong Javascript rất đơn giản, bạn tạo biến tên là sum, sử dụng hàm reduce để đếm lùi từng số rồi sử dụng hàm add để tính tổng như sau:

var sum = [1, 2, 3].reduce(add, 0);

function add(a, b) {
    return a + b;
}

console.log(sum); // xuất kết quả trên console là 6

Trong chuẩn ECMAScript 2015 (hay còn gọi là ECMAScript 6), bạn có thể viết tính tổng ngắn gọn hơn như sau:

var sum = [1, 2, 3].reduce((a, b) => a + b, 0);
console.log(sum); // kết quả sum = 6

Chúc các bạn thành công!

Nếu câu trả lời sai ngại gì không chỉnh? Nếu câu trả lời thiếu ngại gì không thêm? Nếu có câu trả lời hay hơn ngại gì không chia sẻ? Mời các bạn comment bên dưới


Tự hỏi đáp

Trả lời

RequireJS là một JavaScript Module Loader. Nó được tối ưu hóa để sử dụng trên trình duyệt, nhưng nó có thể được sử dụng trong các môi trường JavaScript khác, như Rhino và Node. Sử dụng một kịch bản bộ nạp mô-đun như RequireJS sẽ cải thiện tốc độ và chất lượng code của bạn.

RequireJS là gì?
Các trình duyệt được hỗ trợ:

IE 6+ .......... ✔
Firefox 2+ ..... ✔
Safari 3.2+ .... ✔
Chrome 3+ ...... ✔
Opera 10+ ...... ✔

Bạn có thể tìm hiểu cách dùng và download tại địa chỉ: Requirejs.org 

Nếu câu trả lời sai ngại gì không chỉnh? Nếu câu trả lời thiếu ngại gì không thêm? Nếu có câu trả lời hay hơn ngại gì không chia sẻ? Mời các bạn comment bên dưới


Tự hỏi đáp

Trả lời

WebGL là một khái niệm đã có từ vài năm trước, nó được viết tắt từ Web-based Graphics Library, là một thư viện phần mềm mở rộng khả năng của ngôn ngữ JavaScript để cho phép nó tạo ra tương tác đồ họa 3D trong bất kỳ trình duyệt nào tương thích (Firefox, Chrome, Safari..). Mã của WebGL thực hiện xử lý trên card xử lý đồ họa (GPU), lưu ý là card đồ họa phải có hổ trợ shader. WebGL là một context của phần tử canvas trong HTML cung cấp các hàm API 3D graphics. Được phát hành phiên bản đầu tiên 1.0 vào ngày 03 Tháng 3 năm 2011. WebGL được quản lý bởi tổ chức phi lợi nhuận Khronos Group.

WebGL là gì? Học lập trình WebGL ở đâu?
Game 3D chạy trên nền web
Một số website học WebGL miễn phí:

- Learningwebgl.com

- Lozilla.org/GL

- Webglacademy.com

- Tutorialspoint.com/webgl

Nếu câu trả lời sai ngại gì không chỉnh? Nếu câu trả lời thiếu ngại gì không thêm? Nếu có câu trả lời hay hơn ngại gì không chia sẻ? Mời các bạn comment bên dưới


Tự hỏi đáp

Trả lời

Cách chia rất đơn giản đó là chúng ta sử dụng hàm floor để chia, cách chia như sau:

<script>
 
  var num = Math.floor(45/2); // lấy phần nguyên của 45 chia cho 2, kết quả sẽ là 20
  console.log(num); // xuất kết quả ra màn hình console

</script>

Một số phép tính khác trong Javascript:

Cho: Biến num một giá trị bất kì

- Lấy giá trị tuyệt đối: Math.abs(num) 

- Làm tròn lên: Math.ceil(num) // Hàm này ngược với hàm làm tròn xuống mà chúng ta dùng để chia lấy phần nguyên (floor)

- Trả về logarit: Math.log(num) 

- Trả về căn bậc hai: Math.sqrt(num) 

Lưu ý trong Javascript, tất cả các phép tính này ta đều phải dùng hàm toán học Math 

Nếu câu trả lời sai ngại gì không chỉnh? Nếu câu trả lời thiếu ngại gì không thêm? Nếu có câu trả lời hay hơn ngại gì không chia sẻ? Mời các bạn comment bên dưới