New
Loading...

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


Mình là một fan anime và những thể loại mình thích là viện tưởng, hài hước, kinh dị , học đường. Nhưng đôi khi mình lại lạc đề vào những bộ phim tình cảm lãng mạn nhưng có cái kết buồn, thế là mắt mình rưng rưng khi nào không biết :D
Nhưng chủ đề, thể loại nào cũng vậy, mỗi cái lại mang lại cho ta một cảm xúc khác nhau nhưng đầy ý nghĩa, sau đây là tuyển tập những bộ anime thể loại tình cảm lãng mạn cực hay nhưng lấy đi nước mắt người xem nhất.

1 Anohana

Top những bộ anime tình cảm cực hay lấy đi nhiều nước mắt nhất

Bộ phim là một câu chuyện tình yêu, tình bạn cảm động về nhóm sáu người bạn thời thơ ấu đã mất liên lạc với nhau sau khi một người trong nhóm, Meiko “Menma” Honma, qua đời trong một tai nạn. Mười năm sau tai nạn, trưởng nhóm, Jinta Yadomi, từ bỏ giao tiếp xã hội và sống như một người ẩn dật. Một ngày mùa hè, bóng ma của Menma xuất hiện trước mặt cậu và mong muốn được thực hiện 1 điều ước, với lý do mình không thể sang thế giới bên kia cho đến khi điều ước được hoàn thành nhưng cô không thể nhớ điều ước của mình là gì.

Jinta đã tập hợp lại những người bạn ngày xưa vì tin rằng họ chính là những chiếc chìa khóa dẫn tới ước mơ của Menma. Cả nhóm miễm cưỡng tham gia nhưng mọi chuyện ngày càng trở nên phức tạp khi mọi người cho rằng Jinta không thể vượt qua được cái chết của Menma và luôn dằn vặt tại sao Menma chỉ xuất hiện trước Jinta.

Cũng từ đây, họ nhận ra rằng không chỉ có Jinta đang gặp rắc rối mà tất cả các thành viên khác trong nhóm đều luôn tự trách mình về cái chết của Menma. Những cảm xúc ẩn dấu của từng người được khơi dậy, họ lại cùng nhau hoàn thành ước nguyện của Menma và giúp cô có thể đầu thai.

2 Shigatsu wa Kimi no Uso


Bộ phim xoay quanh thần đồng âm nhạc Arima Kousei. Sau khi mẹ của cậu qua đời, vì quá khủng hoảng, Arima không thể nghe được tiếng đàn của mình nữa, mặc dù cậu vẫn có thể nghe tiếng đàn của người khác hay những âm thanh trong cuộc sống, và cậu dừng chơi đàn trong 2 năm… cho đến khi Kaori xuất hiện. Cô gái Kaori với cây đàn vĩ cầm ấy đã khơi dậy trong Arima niềm đam mê âm nhạc, đánh thức tâm hồn đang chìm sâu vào nỗi ám ảnh từ quá khứ của cậu. Thế nhưng, người con gái đáng yêu ấy không thể cùng Arima thể hiện những giai điệu tuyệt vời nữa…

3 Clannad


Clannad được chuyển thể từ tiểu thuyết Clann as dango của tác giả Maeda Jun. Clannad lấy bối cảnh tại trường cấp III Hikarizaka tại một thị trấn nhỏ của Nhật. Okazaki Tomoya là một học sinh năm 3 lười nhác, không chịu học hành cẩn thận. Cậu ta thường xuyên đi học muộn, lơ là, chểnh mảng việc học, trong khi các bạn đang tập trung ôn luyện chuẩn bị cho thi cử. Tất nhiên là cậu ta không có nhiều bạn thân.

Cuộc sống của cậu ta cứ tiếp diễn hàng ngày như vậy, đến khi cậu ta gặp một cô gái tên Furukawa Nagisa, một người cũng cô đơn tại trường, bởi bạn bè cô bé quen biết đều đã tốt nghiệp. Ban đầu, cậu ta đã nghĩ đó đúng là một cô gái vụng về. Nhưng Tomoya không bỏ mặc Nagisa, mà đã giúp đỡ cô tái lập Câu lạc bộ Kịch. Rồi câu chuyện dần dần đi vào tình huống của các cô gái, chầm chậm, cho tới một đoạn cao trào cảm động, và đó là nơi bộ phim thực hiện phép thuật nhiệm màu nhất của nó.

4 Clannad: After Story


Nối tiếp phần một (Clannad - Phim vừa giới thiệu ở phía trên), câu chuyện xoay quanh cuộc đời của Tomoya và Nagisa sau khi họ tốt nghiệp Trung Học Phổ Thông với những khó khăn của cuộc sống được tác giả khắc họa một cách chân thực và sống động.

Đây có thể coi là bộ Anime mang đến nhiều cảm xúc nhất cho người xem, từ những tình cảm ngọt ngào của hai nhân vật chính ở phần đầu bộ phim đến những câu chuyện cảm động và ý nghĩa về tình yêu, gia đình. Người đọc như được hòa mình vào cùng vui, cùng buồn, cùng đau khổ với các nhân vật trong phim.

Cảnh xúc động nhất trong phim đó là sự ra đi của 2 mẹ con Nagisa khiến người xem như bị vỡ òa cảm xúc, là cảnh phim đau lòng và tốn nhiều nước mắt nhất đối với người xem. Qua bộ phim, khán giả thấy được những thông điệp ý nghĩa về cuộc sống, tình yêu và gia đình một cách thấm thía và sâu sắc.

5 Byousoku 5 Centimeter (5cm/s)


Phim là một câu chuyện tình buồn diễn ra tại Nhật Bản, với xuất phát điểm là từ những năm 90 khi Takaki Tono mới 13 tuổi cho tới hiện tại khi anh đã đi làm. Film gồm 3 chương nhỏ gộp lại dài 62 phút: Oukashou (The Chosen Cherry Blossoms), Cosmonaut và Byousoku 5 Centimeter (5 Centimeters per Second). Chương một mở đầu câu chuyện bằng một lời hứa trẻ con, đã dẫn dắt cả người xem lần lượt đi qua 3 quãng thời gian quan trọng trong cuộc đời Takaki Tono và đều liên quan tới tình yêu của anh dành cho một người con gái.

6 Kimi no Na wa


Là một bộ phim tình cảm cực hay có cùng tác giả với 5 centimet trên giây. Kể về câu chuyện của cặp đôi thường xuyên bị hoán đổi cơ thể và nổ lực cứu lấy nữ chính khỏi thảm cảnh, cũng như nổ lực nhớ lấy tên đối phương. Dù kết cục phim tương đối mãn nhãn nhưng bộ phim để lại vô vàng cảm xúc buồn vui lẫn lộn. Hãy xem một lần để không phải hối tiếc :3


7 Grave of the Fireflies


Bộ phim được đặt trong bối cảnh giai đoạn cuối chiến tranh thế giới thứ 2 ở Nhật, kể về câu chuyện cảm động về tình anh em của hai đứa trẻ mồ côi là Seita và Setsuko. Hai anh em mất mẹ trong một trận bom dữ dội của không quân Mỹ khi cha của chúng đang chiến đấu cho Hải quân Nhật. Hai đứa bé phải vật lộn giữa nạn đói, giữa sự thờ ơ của những người xung quanh.

8 Grave of the Fireflies


Golden Time kể về câu chuyện tình cảm của 2 chàng trai và 1 cô gái (có vẻ phức tạp :| ) dựa trên light novel cùng tên của tác giả Yuyuko Takemiya. Mitsuo và Kouko là bạn từ thưở bé, vì lỡ lời hứa hôn với Kouko nên suốt thời niên thiếu Mitsuo phải liên tục tránh né cô bạn, rốt cuộc tới lúc vào trường luật tại Tokyo thì bị Kouko đuổi kịp vì cô cũng thi vào trường đó. Người thứ ba trong mối quan hệ này là Tada Banri, một người bạn mà Mitsuo làm quen ngay buổi nhập trường; anh bạn này từng bị mất trí nhớ do một tai nạn và vừa nghỉ học 1 năm để hồi phục…

9 Angel Beats


Các câu chuyện, tình tiết của bộ phim diễn ra tại thế giới sau khi con người chết đi. Ở đó có những người như Yuri và nhóm SSS – những con người đã đứng lên đấu tranh chống lại Thượng đế và quyết không đầu thai. Bộ phim đưa người xem đến những bất ngờ và những lời thán phục trầm trồ về nội dung ý nghĩa, hình ảnh đẹp và âm nhạc tuyệt vời. Quá khứ đau thương của Yuri, Yui hay Otonashi được hiện lên trong phim đầy xúc động.

Thông điệp: Thế giới này vốn không công bằng, quan trọng là bạn cần phải cố gắng vượt qua quá khứ đau thương để vươn lên tìm kiếm hạnh phúc và ý nghĩa đích thực của cuộc sống.

10 Hotarubi no Mori e


Câu chuyện trong Hotarubi no mori e (Tạm dịch: Đến khu rừng sáng ánh đom đóm) xoay quanh một cô bé mải chơi lạc vào khu rừng nơi các sơn thần cư ngụ. Cô gặp Gin, một chàng trai bí ẩn với chiếc mặt nạ, mà mãi sau này cô mới biết là một linh hồn.
Cả hai người làm bạn với nhau và cùng trải qua biết bao mùa hạ thật vui. Nhưng cô không được phép chạm vào Gin, vì sẽ khiến cậu tan biến mất. Cho đến một ngày, cô nhận ra mình đã yêu Gin.
Một câu chuyện tình đẹp đẽ, mong manh và buồn. Liệu tình yêu ngắn ngủi, yếu ớt như ánh sáng loài đom đóm trong đêm của họ có thể thành hiện thật, câu trả lời nằm sâu trong khu rừng sáng ánh đom đóm.

11 Hoshi No Koe: Voices of a distant star


Nhân loại năm 2046 lo sợ trước nguy cơ bị người ngoài hành tinh xâm chiếm đã xây dựng 1 hạm đội chuyên tìm kiếm. tiêu diện những sinh vật vũ trụ, mỗi đe dọa trực tiếp tới sự tồn vong của mình. Mikako Nagamine, 15 tuổi là thành viên trẻ nhất trong hạm đội, đang tuổi cắp sách tới trường. Những trận chiến liên tục càng khiến cô nhớ tới cậu bạn trai Noboru Terao, vẫn ở lại trên trái đất của mình. Hai con người ấy số phận đã đem lại cho họ 2 lựa chọn khác nhau. Sợi dây kiên kết mong manh và duy nhất giữa hai người là những tin nhắn - một tháng, 1 năm, rồi “mất 8 năm 7 tháng để những tin nhắn đến được với cậu”… Liệu những cách biệt về cả không gian thời gian có làm cho tình yêu của hai người nhạt phai? Và liệu Mikako có còn sống để gặp lại Noboru...

12 Tokyo Magnitude 8.0


Nhân vật chính của câu chuyện, Mirai, là một nữ sinh cấp hai bình thường trải qua những ngày tháng rất đỗi bình thường. Một mùa hè mà không được đi đâu chơi, tệ hơn là phải dẫn đứa em trai đến một buổi triển lãm mà mình không hề thích thú. Tất cả mọi thứ đều khiến cô bé bực mình và cô chỉ mong muốn 1 một điều “Cả thế giới này hãy sụp đổ đi”. Và quả thật cả thế giới đang sụp đổ, một trận động đất lớn tàn phá hoàn toàn Tokyo và các vùng phụ cận. Kỳ nghỉ hè của cô bé trở thành một cuộc chiến sinh tồn với kẻ thù chính là thiên nhiên hung dữ. Với sự giúp đỡ của một cô gái mang tên Mari, Mirai cùng em trai tìm đường trở về nhà mình ở phía tây Tokyo.

Một cuộc chạy đua với thời gian, một cuộc đấu trí đầy bất trắc với tự nhiên. Ai sẽ là kẻ chiến thắng? Anime tái hiện chính xác hoàn toàn những gì có thể xảy ra nếu có một trận động đất 8.0 Richter. Nếu ai đã từng mê The day after tomorrow thì ko thể bỏ qua bộ anime này.

13 Phantom: Requiem For The Phantom


Dựa theo Nitro+ visual novel Phantom of Inferno. Tại thế giới ngầm bên Mỹ, hàng loạt tên trùm các băng Mafia lần lượt bị ám sát, có tin đồn đó là do một tổ chức mang tên Inferno gây ra với các sát thủ mang biệt danh Phantom. Một chàng trai trẻ người Nhật đang đi du lịch bên Mỹ tình cờ chứng kiến một vụ thảm sát, đáng lẽ sẽ bị bịt miệng nhưng lại trở thành một Phantom phục vụ cho tổ chức Inferno...

Lời kết: Những bộ anime trên đây được sắp xếp không theo thứ tự cao thấp vì mỗi bộ phim mang lại những cảm xúc khác nhau và tùy vào cảm nhận của mỗi người xem. Blog sẽ tiếp tục cập nhật thường xuyên những bộ anime hay nhất. Chúc các bạn có những cảm xúc tuyệt vời nhất khi xem phim.

Xem thêm:
Tuyển tập những bộ Anime Viện tưởng Kinh dị hay nhất
Tổng hợp những bộ Anime có main nam bá đạo nhất 
Tổng hợp những bộ anime bẩn bựa, hài hước đáng xem nhất
Giải thích từ ngữ Manga và Anime: loli, lolicon, shoto, tsundere, yandere, coodere ...

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


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


Ở Windows 10 có thêm một tính năng vừa hay vừa dỡ đó là chế độ xem Recent Files ( Những file vừa mới xem ). Tuy mang lại tiện lợi cho người dùng nhưng khi bạn xem những file tư liệu hình ảnh, video cá nhân hay file công việc mang tính bảo mật thì sẽ dễ bị người khác thấy ngay lập tức khi vừa mở Explorer lên =))
Vậy cách tắt nó như thế nào? Rất đơn giản, các bạn làm theo các bước sau:

Hướng dẫn cách tắt Recent Files trong Windows 10
  1. Mở File Explorer (Window+E)
  2. Chọn menu View trên thanh menu trên cùng
  3. Click Options
  4. Tìm đến chữ “Open File Explorer to” nhấn vào menu dropdown, chọn “Quick Access” thay cho “This PC” rồi nhấn OK.
  5. Tắt cửa sổ Explorer đi và mở lại xem kết quả nhé
Chúc các bạn thành công!

Xem thêm:
- Danh sách phím tắt và tính năng mới trong Windows 10
- Hướng dẫn cách tắt mở chức năng phát wifi trên laptop Windows 10
- Hướng dẫn chi tiết cách phát wifi bằng laptop trên Windows 7
- Hướng dẫn cài đặt mật khẩu cho modem wifi
- Chỉnh lỗi Language keyboard Vietnamese trong Windows 8 và Windows 10

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