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


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


Giải đáp nhanh

Trả lời

Để kiểm tra khi nào Ajax load xong và thực thi một lệnh gì đó các bạn chỉ cần sử dụng hàm ajaxComplete được hỗ trợ sẵn trong Jquery, cách dùng như sau:

Gọi hàm ajaxComplete và đặt code thực thi bạn muốn vào trong nó:
$( document ).ajaxComplete(function() {
  // Lệnh thực thi khi ajax load xong
});
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


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