New
Loading...

Tự hỏi đáp

Trả lời

ng-cloak (ngCloak) là một Angularjs directive được sử dụng để ngăn chặn các template html gốc (code angularjs) hiển thị một thời gian ngắn trên trình duyệt ở dạng thô khi ứng dụng của bạn đang tải. Sử dụng directive này để ẩn tạm thời code Angularjs cho đến khi ứng dụng được tải xong.

ng-cloak là gì? Cách sử dụng ng-cloak?

Cách dùng:

Bạn có thể dùng như một class css hoặc đặt nó như một thuộc tính html (html attribute)
Ví dụ:
<div id="template1" ng-cloak>{{ 'hello' }}</div>
<div id="template2" class="ng-cloak">{{ 'world' }}</div>
Để chắc chắn bạn có thể add thêm đoạn css sau vào file css của bạn:
[ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], .ng-cloak, .x-ng-cloak {
  display: none !important;
}

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

Để tìm max (số lớn nhất) ta dùng hàm Math.max:
Cho một mảng như sau:  numArray = [1,2,4,3,6,2,8]

Cách một:
function getMaxOfArray(numArray) {
  return Math.max.apply(null, numArray);
}
getMaxOfArray(numArray);
// kết quả là 8
Cách hai:

Math.max(numArray); // kết quả là 8
Để tìm min (số nhỏ nhất) ta dùng hàm Math.min, cách dùng tương tự với Math.max

Rất đơn giản phải không nào các bạn? 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


Trong nội dung comment Blogger, có rất nhiều người sử dụng để post spam hoặc đặt link đen phá hoại website của bạn, vì thế người quản trị phải thường xuyên kiểm duyệt tốn nhiều thời gian. Để giải quyết vấn đề này một cách tự động, bạn làm theo những bước đơn giản sau:

Hướng dẫn tự động+ remove link out trong nội dung comment Blogger

1 - Tự động remove link out trong nội dung comment Blogger

- Đăng nhập trang quản trị Blogger.

- Chọn menu Template và click chọn Edit HTML

- Tìm tag </body>  (Ctrl + F). và dán đoạn code sau vào trên nó:
<script> 
$('.comment-content a[rel$=nofollow]').replaceWith(function(){return ($(this).text());}); 
</script>
- Lưu lại và xem kết quả, đoạn script trên sẽ tự động remove toàn bộ link out mà người comment gắn vào nội dung của họ.

2 - Mở link ở một tab khác

Cách này sẽ giúp bạn tự động gắn thẻ target "_blank" để khi người dùng click vào link trong comment sẽ chuyển sang một tab mới.

- Đăng nhập trang quản trị Blogger.

- Chọn menu Template và click chọn Edit HTML

- Tìm tag </body>  (Ctrl + F). và dán đoạn code sau vào trên nó:
<script> 
$(function(){
  $('.comment-content a[rel$=nofollow]').attr("target","_blank");
});
</script>

Lưu ý:
Srcipt dùng trong bài viết dùng Jquery nên bạn phải gắn thêm code Jquery nếu chưa có:
<script src='https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js'/>

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

Xem thêm:
- Tạo widget Bài Viết Mới Nhất (Recent Post) có ảnh thumbnail cho Blogger
- Hướng dẫn upload file js, css hay images lên Google Drive sử dụng cho Blogger hoặc website
- Ebook hướng dẫn cách tạo và chỉnh sửa một Blogger Templates
- Cách gắn breadcrumbs cho blogger
- Hướng dẫn gắn các thẻ meta OpenGraph vào blogger
- Hướng dẫn sửa lỗi cấu trúc dữ liệu (Structured Data) trong Blogger 

Giải đáp nhanh

Trả lời

Cookie là một dạng lưu trữ data trên trình duyệt dù cho người dùng đã tắt trình duyệt đi. Cookie thường chỉ cho phép lưu trữ một lượng hạn chế data nên việc lưu trữ này đa phần sử dụng cho lưu trữ setting người dùng, thông tin đăng nhập, form...
Sau đây là cách tạo và sử dụng Cookie:

1 - Cách tạo: Viết một hàm tạo cookie có tên createCookie
var createCookie = function(name, value, days) {
    var expires;
    if (days) {
        var date = new Date();
        date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
        expires = "; expires=" + date.toGMTString();
    }
    else {
        expires = "";
    }
    document.cookie = name + "=" + value + expires + "; path=/";
}

- Trong hàm createCookie  sẽ truyền vào các biến name: tên cookie, value: giá trị, days: Số ngày lưu ở trình duyệt.

- Sau đó tạo một hàm getCookie truyền vào biến c_name ( là tên của cookie bạn đã đặt khi sử dụng hàm tạo cookie )
function getCookie(c_name) {
    if (document.cookie.length > 0) {
        c_start = document.cookie.indexOf(c_name + "=");
        if (c_start != -1) {
            c_start = c_start + c_name.length + 1;
            c_end = document.cookie.indexOf(";", c_start);
            if (c_end == -1) {
                c_end = document.cookie.length;
            }
            return unescape(document.cookie.substring(c_start, c_end));
        }
    }
    return "";
}
 2- Cách dùng:
 - Tạo một Cookie mới: Ví dụ tạo một Cookie có tên myCookie
var myValue = 'Test';
var myTime = 'Thu, 01 Jan 2016 00:00:00 UTC';
createCookie('myCookie', myValue, myTime);
- Sau đó gọi lại để sử dụng giá trị vừa lưu:
var myValueSaved = getCookie('myCookie');
Như vậy giá trị biến myValueSaved nhận được sẽ là "Test";

3- Xóa cookie:
- Để xóa cookie vừa tạo bạn chỉ cần gọi lại hàm createCookie truyền tên cookie muốn xóa và cho giá trị rổng và reset lại ngày lưu là đc:
var nullValue = '';
var resetTime = 'Thu, 01 Jan 1970 00:00:00 UTC';
createCookie('mycookie', nullValue , resetTime );
Hoặc khi người dùng muốn xóa thì chỉ cần vào phần xóa cache và cookie để xóa.

Rất đơn giản phải không nào? 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


Giải đáp nhanh

Trả lời

Sau đây là hướng dẫn nhanh cách viết hàm chuyển đổi từ timestamp thành ngày tháng năm trong Javascript:

Đầu tiên bạn tạo một function có tên tùy ý, trong ví dụ này mình đặt là formatDay:
function formatDay(timestamp) {
    var date = new Date(timestamp*1000);
    var month = date.getMonth()+1;
    var year = date.getFullYear();
    var day = date.getDate();
    return year+'/'+month+'/'+day;
}
Sau đó bạn gọi lại để sử dụng như sau:
Ví dụ: timestamp bạn muốn convert là 1476205200
var myday = formatDay(1476205200);
console.log(myday );
// kết quả là 2016/10/12

Lưu ý: Nếu timestamp là đơn vị milisecond, bạn phải bỏ *1000 trong hàm chuyển đổi đi:
function formatDay(timestamp) {
  var date = new Date(timestamp);
  var month = date.getMonth()+1;
  var year = date.getFullYear();
  var day = date.getDate();
  return year+'/'+month+'/'+day;
}
- Format trong hàm trả về là 2016/10/12, nhưng bạn cũng có thể tùy ý đảo theo format mình muốn trong phần return của hàm

Rất đơn giản phải không nào? 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


Giải đáp nhanh

Trả lời

Để tự động ngắt dòng bằng dấu chấm khi chữ quá dài mà không mất text trong thiết kế web, bạn chỉ cần dùng các thuộc tính css đơn giản sau đây:
text-overflow: ellipsis;
white-space: nowrap;

Ví dụ: Bạn đặt một thẻ div hoặc span với class là elements, trong css bạn viết cho class này như sau:
.elements {
 width: 150px;
 overflow: hidden;
 text-overflow: ellipsis;
 white-space: nowrap;
}
Lưu ý: Độ dài của text bạn quy định bằng thẻ width trong css nhé. Rất đơn giản phải không nào? 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


Giải đáp nhanh

Trả lời

Trong làm web bạn dùng position là absolute cho đối tượng div hoặc bất kì đối tượng nào khác, nếu muốn cân giũa cho đối tượng đó bạn phải sử dụng các thuộc tính margin, left và right, ví dụ:

Bạn đặt một thẻ div với class là elements, trong css bạn viết css cho class này như sau:
.elements {
 position: absolute;
 margin-left: auto;
 margin-right: auto;
 left: 0;
 right: 0;
}
Để đối tượng .elements luôn nằm trên các đối tượng khác, bạn chỉ việc thêm vào thuộc tính z-index thật lớn, ví dụ như 9999. Rất đơn giản phải không nào? 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


Sau đây là bài viết hướng dẫn nhanh cách chuyển đổi đơn vị trừ hàng ngàn sang K hoặc hàng triệu sang M trong Javascript.

Cách chuyển đổi đơn vị từ hàng ngàn sang K hoặc hàng triệu sang M - Javascript

Đầu tiên các bạn viết một hàm numFormatter (các bạn có thể đặt tên tùy ý) như sau:
function numFormatter(num) {
    if(num > 999 && num < 1000000){
        return (num/1000).toFixed(0) + 'K'; // Chuyển thành M nếu giá trị từ 1000 đến dưới 1 triệu
    }else if(num > 1000000){
        return (num/1000000).toFixed(0) + 'M'; // Chuyển thành M nếu giá trị lớn hơn 1 triệu
    }else if(num < 900){
        return num; // Trả về đơn vị mặc định nếu giá trị dưới 1000
    }
}
Sau đó gọi lại sử dụng như sau:
Ví dụ để chuyển đổi một số có giá trị là 15000:
numFormatter(15000);

// hoặc:

var num = 15000;
numFormatter(15000);

// Kết quả là : 15K 
Ví dụ số có giá trị là 3000000 = > 3M

 Lưu ý: Nếu số có giá trị lên hàng triệu thì hàm này sẽ tự động convert thành M
Ví du số có giá trị 1500000 => 2M // số sẽ tự động được làm tròn lên

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

Xem thêm:
- Hướng dẫn làm banner quảng cáo HTML5
- WebGL là gì? Học lập trình WebGL ở đâu?
- Làm thế nào để thoát một Function trong Javascript?
- Hướng dẫn làm hiệu ứng tuyết rơi bằng Action Script 3 trong Flash
- Cách đặt background image hoặc watermark cho Highchart

Tự hỏi đáp

Trả lời

Trong lập trình thì Lập trình hàm là một khái niệm khá phổ biến nhưng không phải ai cũng nắm rõ sau đây là khái niệm về lập trình hàm:

Trong ngành khoa học máy tính, lập trình hàm là một mô hình lập trình xem việc tính toán là sự đánh giá các hàm toán học và tránh sử dụng trạng thái và các dữ liệu biến đổi. Lập trình hàm nhấn mạnh việc ứng dụng hàm số, trái với phong cách lập trình mệnh lệnh, nhấn mạnh vào sự thay đổi trạng thái. Lập trình hàm xuất phát từ phép tính lambda, một hệ thống hình thức được phát triển vào những năm 1930 để nghiên cứu định nghĩa hàm số, ứng dụng của hàm số, và đệ quy. Nhiều ngôn ngữ lập trình hàm có thể được xem là những cách phát triển giải tích lambda.

Lập trình hàm là gì?

Trong thực tế, sự khác biệt giữa hàm số toán học và cách dùng từ "hàm" trong lập trình mệnh lệnh đó là các hàm mệnh lệnh có thể tạo ra hiệu ứng lề, làm thay đổi giá trị của một phép tính trước đó. Vì vậy các hàm kiểu này thiếu tính trong suốt tham chiếu, có nghĩa là cùng một biểu thức ngôn ngữ lại có thể tạo ra nhiều giá trị khác nhau vào các thời điểm khác nhau tùy thuộc vào trạng thái của chương trình đang thực thi. Ngược lại, trong lập trình hàm, giá trị xuất ra của một hàm chỉ phụ thuộc vào các tham số đầu vào của hàm, vì thế gọi hàm f hai lần với cùng giá trị tham số x sẽ cho ra cùng kết quả f(x). Việc loại bỏ hiệu ứng lề có thể làm cho chương trình dễ hiểu hơn rất nhiều và người ta có dự đoán được hành vi của một chương trình, đó chính là một trong các động lực chính cho sự phát triển của lập trình hàm.

Các ngôn ngữ lập trình hàm, đặc biệt là các loại thuần lập trình hàm, có ảnh hưởng lớn trong giới học thuật hơn là dùng để phát triển các phần mềm thương mại. Tuy vậy, các ngôn ngữ lập trình hàm nổi bật như Scheme,Erlang,Objective Caml,và Haskell đã được nhiều tổ chức khác nhau sử dụng trong các ứng dụng công nghiệp và thương mại. Lập trình hàm cũng được sử dụng trong công nghiệp thông qua các ngôn ngữ lập trình chuyên biệt như R (thống kê),Mathematica (toán học hình thức), J và K (phân tích tài chính)[cần dẫn nguồn], F# trong Microsoft.NET và XSLT (XML).Các ngôn ngữ chuyên biệt dạng khai báo được sử dụng rộng rãi hiện nay như SQL và Lex/Yacc, cũng sử dụng một số thành phần của lập trình hàm, đặc biệt để tránh các giá trị biến đổi. Các bảng tính (spreadsheet) cũng có thể được xem là các ngôn ngữ lập trình hàm.

Lập trình theo phong cách lập trình hàm cũng có thể thực hiện ở các ngôn ngữ không được thiết kế riêng cho lập trình hàm. Ví dụ, ngôn ngữ lập trình mệnh lệnh Perl đã có một cuốn sách viết về cách áp dụng các khái niệm lập trình hàm vào đó. JavaScript, một trong các ngôn ngữ được dùng nhiều hiện nay, có khả năng lập trình hàm.

Tham khảo thêm các khái niệm Lập trình hàm tại địa chỉ: https://vi.wikipedia.org/wiki/L%E1%BA%ADp_tr%C3%ACnh_h%C3%A0m

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

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


Highchart mặc định chỉ cho phép bạn sử dụng nền màu với thuộc tính Fill hoặc backgroundColor, nhưng với thủ thuật nhỏ này có thể giúp bạn thay đổi nền màu nhàm chán bằng những hình background theo ý muốn hoặc làm một wartermark. Làm theo các bước như trong ví dụ sau:

Cách đặt background image hoặc watermark cho Highchart
HTML:
<script src="http://code.highcharts.com/highcharts.js"></script>

<div id="container" style="height: 400px"></div>
Javascript:
$(function () {
    var chart = new Highcharts.Chart({
        chart: {
            renderTo: 'container',
            backgroundColor: 'transparent',
            type: 'line'
        },
        xAxis: {
            categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
        },
        series: [{
            data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]        
        }]
    });
});
Css:
#container {
    background: url(http://obinb.com/img/chart-bg.png) repeat;
}

Trong ví dụ trên chúng ta sử dụng thuộc tính backgroundColor: 'transparent' để tắt nền chart, sau đó sử dụng css để fill background.

Rất đơn giản phải không nào các bạn? Chúc các bạn thành công!

Xem thêm:
- Hướng dẫn làm banner quảng cáo HTML5
- WebGL là gì? Học lập trình WebGL ở đâu?

- Làm thế nào để thoát một Function trong Javascript?
- Hướng dẫn làm hiệu ứng tuyết rơi bằng Action Script 3 trong Flash
- Tổng hợp những Tag (Thẻ) mới trong HTML5
- Cấu trúc chuẩn của một trang HTML5
Sau đây là cách viết một hàm chuyển đổi đơn vị thời gian từ Giây sang Giờ - Phút - Giây cực kì đơn giản bằng Javascript:

Viết hàm chuyển đổi đơn vị thời gian từ Giây sang Giờ - Phút - Giây bằng Javascript

- Viết hàm chuyển đổi, đặt tên tùy ý, mình đặt là convertHMS :
function convertHMS(value) {
    var sec_num = parseInt(value, 10); // đổi giá trị sang number (đơn vị giây)
    var hours   = Math.floor(sec_num / 3600); // giờ
    var minutes = Math.floor((sec_num - (hours * 3600)) / 60); //  phút
    var seconds = sec_num - (hours * 3600) - (minutes * 60); //  giây
    // thêm số 0 trước đơn vị nhỏ hơn 10
    if (hours   < 10) {hours   = "0"+hours;}
    if (minutes < 10) {minutes = "0"+minutes;}
    if (seconds < 10) {seconds = "0"+seconds;}
    return hours+':'+minutes+':'+seconds; // kết quả trả về HH : MM : SS
}
- Cách gọi và sử dụng:
var myTime = convertHMS(4600);
console.log(myTime); // 01:16:40

Rất đơn giản phải không các bạn? Chúc các bạn thành công!

Xem thêm:
- TypeScript là gì?
- Cách tính tổng một mảng số (number array) trong Javascript ?
- RequireJS là gì?
- WebGL là gì? Học lập trình WebGL ở đâu?
- Phép chia lấy phần nguyên trong Javascript ?

Hiện nay HTML5 đã trở nên phổ biến và được hỗ trợ ở mọi trình duyệt vì vậy việc thay thế định dạng quảng cáo Flash bằng HTML5 là cần thiết và trở thành xu hướng bắt buộc.
Về cơ bản HTML5 chạy nhẹ, hỗ trợ trên cả thiết bị mobile hay các hệ điều hành khác nhau kể cả iOS mà không cần bất kì trình player nào như Flash.

Hướng dẫn làm banner quảng cáo HTML5

Để làm banner quảng cáo HTML5 hay chuyển đổi các banner Flash thành HTML5 rất đơn giản, các bạn chỉ cần làm theo các bước sau đây:

1 Làm mới một banner HTML5:

Để làm banner HTML5 dễ dàng nhất bạn nên cài đặt và sử dụng phần mền Adobe Flash CC, sau khi cài đặt bạn mở ứng dụng lên chọn New -> HTML Canvas

- Làm banner bình thường như làm với banner Flash, lưu ý là hiện tại Flash CC chưa hỗ trợ một số hiệu ứng Flash cho HTML5 như Style: Tint, Advanced hay một số hiệu ứng Filter nên khi xuất ra file chạy sẽ không thấy được.



- Xuất file HTML5 bằng cách nhấn Enter hoặc vào Publich để setting chi tiết ( Bạn có thể đọc thêm bài viết Hướng dẫn cách convert swf sang HTML5 dễ dàng bằng Adobe Flash CC để biết thêm)

- Đặt code redirect link khi người dùng click banner:
 Sau khi xuất ra file HTML5, bạn sẽ nhận được file .html và .js, bạn mở file HTML lên trên editor và thêm đoạn code sau vào cuối function handleComplete
stage.addEventListener('click', btnRediect);
function btnRediect(){
 location.href = "http://www.obinb.com";
}
Bạn chỉnh link redirect theo ý bạn nhé :) Sau đó lưu lại và kiểm tra kết quả trên trình duyệt.

Download file banner cơ bản trong bài viết này tại đây

Lưu ý: Khi gắn banner HTML5 bạn có thể gắn trực tiếp trong qua thẻ Canvas trong html hoặc sử dụng một iframe để load vào vị trí mình muốn.

2 Chuyển đổi một banner Flash có sẵn sang HTML5:
Rất đơn giản, bạn mở file gốc của banner Flash định dạng FLA rồi làm theo các bước trong bài viết Hướng dẫn cách convert swf sang HTML5 dễ dàng bằng Adobe Flash CC là được.
Đến bước gắn link bạn làm như ở trong bài viết này nhé.

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

Xem thêm:
- Tổng hợp những hiệu ứng ánh sáng flash để làm banner hoặc intro
- Một số hiệu ứng ánh sáng chói trong Flash để làm banner, intro...
- Hướng dẫn làm hiệu ứng tuyết rơi bằng Action Script 3 trong Flash
- Tạo bộ đếm giờ (Countdown Timer) bằng Action Script 2 trong Flash
- Tổng hợp những Tag (Thẻ) mới trong HTML5
- Cấu trúc chuẩn của một trang HTML5

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