Javascript format giá tiền với toFixed () Ví dụ: 12345.67120398 trở thành 12,345.67. Chúng ta có thể làm đơn giản Kiểu tiền tệ trong JavaScript như ví dụ dưới đây. var yourBalance = 2489.8237; //returns 2489.824 (rounds up) yourBalance.toFixed (3); //returns 2489.82 yourBalance.toFixed (2); //returns 2489.8237000 (pads the decimals) yourBalance. Gọi một hàm javascript. Mã bên trong một hàm không được thực thi khi hàm được xác định.defined. Mã bên trong một hàm được thực thi khi hàm được gọi.invoked. Người ta thường sử dụng thuật ngữ "gọi một hàm" thay vì "gọi hàm".call a function" instead of "invoke a function". Javascript 2015 (ES6) ra mắt kèm theo rất nhiều tính năng giúp chúng ta viết code một cách gọn gàng, sạch đẹp hơn, dễ dàng đọc hơn. let, const, var) trong Javascript đều được hoisted. Sự khác biệt ở đây là var khi hoisting thì được khởi tạo là Đây là bài viết đầu tiền Ứng dụng hàm DATEDIF trong Google Sheet - Hàm DATEDIF trong Google Sheet là hàm dùng để tính toán sự chênh lệch giữa 2 giá trị thời gian. Có thể là tính toán sự chênh lệch theo ngày, tháng, năm. - Ứng dụng mạnh mẽ trong việc tính toán độ tuổi trong các các công thức của Google Tìm hiểu cách chuyển đổi một số thành giá trị tiền tệ, sử dụng API quốc tế hóa JavaScript Giả sử bạn có một số như 10, và nó đại diện cho giá của một thứ gì đó. Bạn muốn chuyển đổi nó thành $10,00. Nếu số có nhiều hơn 3 chữ số, tuy nhiên, nó phải được hiển thị khác, ví dụ: 1000 nên được hiển thị dưới dạng $1,000.00 Tuy nhiên, đây là USD. Vay Tiền Nhanh Chỉ Cần Cmnd Nợ Xấu. 1. Tổng quan về hàm trong JavaScript Hàm là một hay nhiều đoạn mã được viết ra để thực thi một hoặc nhiều hành động khi gọi nó. HàmFunction gọi chung là subprogram chương trình con có thể được gọi ở bên ngoài hoặc bên trong chính nó. Nó bao gồm tập hợp các câu lệnh gọi là function body. Các giá trị có thể truyền đến một hàm, và một hàm có thể trả về giá trị. Bây giờ, với các ứng dụng hiện đại, các function có thể là một chương trình hoàn chỉnh, chứ không phải là khái niệm tổng quát như ”subprogram” nữa. Có sự khác nhau giữa function và procedure thủ tục rằng sự lý tưởng của function nên trả về một giá trị còn procedure thì không bây giờ điều này có thể thay đổi theo ngôn ngữ lập trình. Code bên trong function không được biên dịch cho tới khi được gọi đến. Chính vì vậy khi sử dụng function sẽ giúp chương trình được linh hoạt hơn. Một số đặc điểm của hàm trong Js Hàm có thể không có tham số, 1 tham số hay thậm chí là nhiều tham số Nội dung của hàm phải được đặt trong cặp dấu ngoặc nhọn {}, dù cho không có câu lệnh nào hoặc nhiều câu lệnh bên trong nó. Hàm có thể có giá trị trả về hoặc không có giá trị trả về. Kiểu của tham số hay giá trị trả về trong hàm là không được quy định. Do đó, bạn thường phải kiểm tra kiểu của giá trị truyền vào hàm. Nếu không, bạn sẽ rất dễ bị sai. 2. Khai báo hàm trong JavaScript Để khai báo hàm, chúng ta dùng từ khóa function, theo sau nó là Tên hàm Danh sách các tham số truyền vào hàm, được đặt trong ngoặc đơn và cách nhau bởi dấu phẩy. Các câu lệnh của JavaScript để tạo ra một hàm, được đặt trong ngoặc nhọn {…}. Hàm cơ bản Đây là dạng cơ bản nhất của hàm trong javascript, có cú pháp như sau function funName { //code } Trong đó funName là tên của hàm mà các bạn muốn đặt còn function là từ khóa bắt buộc. Ví dụ function getWebsite { } Hàm có tham số truyền vào Đây là một dạng hàm rất hay được sử dụng trong dự án. Hàm có tham số là loại hàm mà khi gọi hàm ta phải truyền giá trị vào cho nó. Tùy vào giá trị được truyền mà hàm sẽ thực thi và cho ra kết quả khác nhau. Cú pháp function funNameparam_1, ..., pram_n { //code } Trong đó funName là tên của hàm các bạn muốn đặt. param_1,…,pram_n là các tham số mà các bạn muốn truyền vào hàmkhông giới hạn số lượng Ví dụ tạo hàm tính tổng của 2 số bất kỳ function getSuma, b { ' + a + b; } Hàm có tham số mặc định Đây thực ra là dạng hàm có truyền tham số và đồng thời xét luôn giá trị mặc định cho các tham số đó. Cú pháp của nó gần tương tự việc khai báo hàm có tham số truyền vào function funNameparam_1 = value_1, ..., pram_n = value_2 { //code } Trong đó funName là tên của hàm các bạn muốn đặt. param_1,…,pram_n là các tham số mà các bạn muốn truyền vào hàmkhông giới hạn số lượng. value_1,…,value_n là các giá trị tương ứng với các pram. Ví dụ function getSuma = 1, b = 2 { ' + a + b; } Hàm có giá trị trả về và không Trong javascript có hai loại hàm,đó là hàm có giá trị trả về và hàm không có giá trị trả về Đối với hàm có giá trị trả về thì phải sử dụng từ khóa return Và ngược lại đối với hàm không có giá trị trả về thì không có từ khóa return. Ví dụ function getSuma = 1, b = 2 { return a + b; } 3. Cách gọi hàm trong JavaScript Sau khi khai báo được hàm thì ta sẽ gọi hàm để sử dụng. Việc gọi hàm cũng khá là đơn giản thôi! Gọi hàm cơ bản Cú pháp funName; Trong đó funname là tên hàm mà bạn muốn gọi. Ví dụ getWebsite; Hàm có tham số truyền vào Để gọi dạng hàm này thì các bạn cũng dùng cú pháp như hàm cơ bản, nhưng đồng thời các bạn truyền thêm các param vào theo cú pháp funNameparam_1, ..., param_n; Ví dụ function getSuma,b{ ' + a + b; } getSum5,6; Hàm có tham số mặc định Để gọi dạng hàm này chúng ta có thể sử dụng cách gọi hàm cơ bản nếu không muốn truyền tham số, và cách gọi hàm có tham số truyền vào nếu muốn truyền tham số cho hàm. Ví dụ function getSuma = 1,b = 2{ ' + a + b; } getSum; //tạo khoảng ngăn cách cho các bạn dễ nhì getSum4,5; Hàm có giá trị trả về và không Hàm này cũng tương tự các hàm trên nên mình sẽ lấy ví dụ cụ thể thôi cho các bạn dễ hiểu nhé function getSuma = 1,b = 2{ return a + b; } var kq1 = getSum; //tạo khoảng ngăn cách cho các bạn dễ nhìn var kq2 = getSum4,5; Cách đặt tên hàm Javascript cũng giống như các ngôn ngữ khác nó cũng có các ràng buộc về tên hàm sau đây Tên hàm phải được bắt đầu bằng chữ cái a-z,A-Z hoặc ký tự _. Tên hàm không được bắt đầu bằng số, các ký tự khác ký tự _. Gọi hàm Các hàm phải đặt trong phạm vi in scope khi nó được gọi, nhưng việc khai báo hàm có thể được hoisted câu lệnh khai báo hàm xuất hiện bên dưới dòng gọi hàm trong đoạn code, như ví dụ này /* ... */ function getAreaOfSquaren { return n*n; } Phạm vi scope của một hàm là khoảng không gian bên trong hàm mà nó được khai báo hoặc là cả chương trình, nếu nó được khai bảo ở top level, tức là nó không nằm trong hàm nào khác. Lưu ý Điều này chỉ đúng khi định nghĩa một hàm bằng cách sử dụng các cú pháp ở trên ví dụ function funcName{}. Điều này có nghĩa rằng function hoisting chỉ hoạt động với cách khai báo hàm thông thường function declarations – function hoisting không hoạt động đối với hàm được khai báo bằng biểu thức hàm function expression. Ví dụ, đoạn code dưới đây sẽ không hoạt động // ReferenceError getAreaOfSquare không được xác định // ReferenceError getAreaOfSquare không được xác định getAreaOfSquare = function n { return n * n; } Phạm vi của hàm – Function Scope Các biến được định nghĩa bên trong một hàm không thể được truy cập từ nơi nào khác bên ngoài hàm, bởi vì biến đó được định nghĩa chỉ trong phạm vi của hàm. Tuy nhiên, một hàm có thể truy cập đến mọi biến và mọi hàm khác trong cùng phạm vi mà nó được định nghĩa. Nói cách khác, một hàm được định nghĩa trong phạm vi global có thể truy cập tới tất cả các biến đã được định nghĩa trong phạm vi global. Một hàm được định nghĩa bên trong một hàm khác có thể truy cập đến tất cả biến được định nghĩa bên trong hàm cha của nó, và bất cứ biến nào khác mà hàm cha của nó có quyền truy cập đến. Các bạn có thể tham khảo ví dụ dưới đây // Các biến sau được định nghĩa trong phạm vi global scope var num1 = 20, num2 = 3, name = "Khoa"; // Hàm này được định nghĩa trong phạm vi global scope function multiply { return num1 * num2; } multiply; // Returns 60 // Một ví dụ hàm lồng nhau function getScore { var num1 = 50, num2 = 50; function add { return name + " scored " + num1 + num2; } return add; } getScore; // Returns "Khoa scored 100" 5. Sự phát sinh hàm trong chương trình Khi viết chương trình, thông thường sẽ có 2 khả năng khiến một hàm được sinh ra Một đoạn chương trình được lặp đi, lặp lại nhiều lần. Việc gom chúng lại thành một hàm sẽ giúp chương trình ngắn gọn hơn, dễ hiểu hơn. Và khi cần thay đổi, bạn chỉ cần sửa một lần trong nội dung hàm, thay vì phải sửa nhiều chỗ. Khi viết chương trình, bạn cần tách toàn bộ chương trình thành những phần nhỏ hơn. Hay còn gọi là module hoá. Lúc này, bạn có thể xây dựng logic cho toàn bộ chương trình trước khi thật sự định nghĩa nội dung hàm. Tại những công ty lớn, thường bạn sẽ chỉ được làm những module nhỏ trong toàn bộ một project lớn. Sau đó, team leader hay project leader… sẽ là người ghép những module nhỏ đó thành một chương trình hoàn chỉnh. Do đó, việc phân chia chương trình thành những hàm tốt là vô cùng quan trọng. Vậy như thế nào là một hàm tốt? Đây là một câu hỏi rất khó để trả lời. Theo mình, hàm tốt là hàm thỏa mãn một số điều kiện sau Một hàm chỉ thực hiện một chức năng duy nhất Độc lập với các yếu tố bên ngoài biến toàn cục, môi trường thực thi,… Dễ dàng tái sử dụng Tuy nhiên, không phải lúc nào bạn cũng có thể thoả mãn những yêu cầu trên. Hoặc không nhất thiết phải thoả mãn tất cả những yêu cầu trên. 6. Cách tham số của hàm trong JavaScript Default parameters Trong Js các tham số của hàm mặc định là undefined. Tuy nhiên, trong một số trường hợp nó có thể hữu ích để thiết lập một giá trị mặc định khác. Đây chính xác là điều mà default parameters sẽ làm. Khi không có default parameters trước ES6 Trong quá khứ, cách thông thường để thiết lập các giá trị mặc định là kiểm định giá trị của các tham số bên trong body của function và gán giá trị cho nó nếu nó là undefined. Trong ví dụ sau, nếu không có giá trị nào được truyền cho b, giá trị của nó sẽ là undefined khi thực hiện tính toán a*b, và việc gọi hàm multiply sẽ trả về NaN. Tuy nhiên, điều này bị ngăn chặn bởi dòng thứ 2 trong ví dụ này function multiplya, b { b = typeof b !== 'undefined' ? b 1; return a*b; } multiply5; // 5 Khi có default parameters sau ES6 Với default parameters, việc kiểm tra thủ công bên trong body của function không còn cần thiết. Bạn có thể đơn giản chỉ là đặt 1 vào làm giá trị mặc định cho b ngay tại head của function function multiplya, b = 1 { return a*b; } multiply5; // 5 Có một số trường hợp bạn muốn một tham số nào đó có thể được truyền hoặc không cần truyền vào đều được, lúc này chúng ta phải sử dụng nó như một tham số mặc định. Javascript không có cú pháp gán giá trị mặc định như PHP mà thay vào đó chúng ta sử dụng toán tử . Ví dụ Hàm hiển thị một thông báo function showMessagemessage { // Nếu message không được truyền vào hoặc giá trị nó là rỗng // thì sẽ được thay thế bằng giá trị 'Không có tin nhắn' message = message 'Không có tin nhắn '; } // Cách 1 không truyền tham số showMessage; // Cách 2 Truyền tham số showMessage'Chào mừng bạn đến với Toán tử gồm hai vế, trong đó nếu vế TRÁI có giá trị rỗng undefined, null, false, … kết quả sẽ trả về vế PHẢI, ngược lại nó sẽ trả về vế TRÁI. Rest parameters Cú pháp rest parameter cho phép chúng ta dùng 1 mảng để đại diện cho số lượng vô hạn các đối số. Trong ví dụ sau, hàm multiply sử dụng rest parameters để thu thập các đối số kể từ đối số hứ hai trở về đến hết. Hàm này sau đó sẽ nhân những đối số này với đối số đầu tiên. Ví dụ function multiplymultiplier, ...theArgs { return => multiplier * x; } var arr = multiply2, 1, 2, 3; // [2, 4, 6] Trong bài này chúng ta sẽ tìm hiểu function trong Javascript. Function hay còn gọi là hàm, được sử dụng rất nhiều khi làm việc với viết này được đăng tại không được copy dưới mọi hình thức. Kể từ phiên bản ES6 trở đi thì hàm trong Javascript có rất nhiều cách tạo khác nhau, điển hình nhất là các khái niệm về arrow function, callback function, khiến những người mới học cảm thấy đau đầu. Nhưng bạn đừng quá lo lắng bởi trong bài này mình sẽ nói tất cả những kiến thức cần biết về function / hàm trong JS nhé. 1. Function trong Javascript là gì? Function hay còn gọi là hàm, là tập hợp một đoạn code dùng để xử lý một nhiệm vụ nào đó. Code bên trong function không được biên dịch cho tới khi được gọi đến. Chính vì vậy khi sử dụng function sẽ giúp chương trình được linh hoạt hơn. Ví dụ Bạn đang xây dựng chức năng hiển thị danh sách sản phẩm cho trang chủ, trang chuyên mục, ... và nhiều trang khác. Lúc này nếu trang nào bạn cũng code từ A - Z thì sẽ mất khá nhiều thời gian, thay vào đó hãy viết nó vào một function và gọi đến nó ở những trang cần sử viết này được đăng tại [free tuts .net] 2. Một ví dụ về lợi ích của function trong Javascript Từ bài 1 tới giờ ta đang code từng đoạn code riêng lẻ và khi cần thì code lại, như vậy giả sử ta cần xử lý vấn đề đó trong 1000 trường hợp thì ta phải code lại 1000 lần nên rất tốn thời gian, chính vì vậy người ta nghĩ ngay đến hàm, hàm sẽ gom một số đoạn code vào một khối xử lý và khi cần thì gọi ra dùng. Giả sử mình viết chương trình kiểm tra số chẵn hay lẻ như sau var number = 2; if number % 2 == 0{ alert'Số chẵn'; } else { alert'Số lẻ'; } Nếu mình cần kiểm tra cho 100 số thì sẽ viết lặp lại đoạn code trên 100 lần, điều này quả là tệ hại phải không các bạn? Nhưng đừng lo bởi khi sử dụng hàm trong Javascript thì ta sẽ gom chúng vào thư viện riêng và chỉ gọi tới khi cần. 3. Cách tạo function trong Javascript Trước tiên hãy xem cú pháp tạo hàm trong Javascript như thế nào đã nhé. Cú pháp function name_of_functionvar1, var2, var3, ... { // Some code } Trong đó function là từ khóa của javascript nên bắt buộc phải như vậy name_of_function là tên của hàm, thông thường chúng ta tạo những tên có ý nghĩa như find_max, find_min, ... var1, var2 var3, ... là các tham số truyền vào hàm. Ví dụ viết hàm kiểm tra số chẵn hay lẽ thì ta sẽ có một tham số đó là số cần kiểm tra. Đương nhiên bạn có thể tạo một hàm không có tham số. Ví dụ Viết hàm kiểm tra một số chẵn hay lẻ. // Tạo hàm function check_numbernumber { if number % 2 == 0{ alertnumber + ' là số chẵn'; } else { alertnumber + 'Số lẻ'; } } 4. Cách gọi hàm trong Javascript Để gọi hàm thì ta chỉ cần gọi đến tên hàm, sau đó truyền vào các tham số cần thiết. Ví dụ dưới đây là mình đã gọi hàm check_number 5 lần và có truyền giá trị cho tham số của hàm. // Sử dụng hàm kiểm tra cho 5 số check_number1; check_number2; check_number3; check_number4; check_number5; Các bạn thấy mình đã tạo một hàm với tham số truyền vào có tên là number. Như vậy khi sử dụng nếu ta truyền số 1 vào thì lúc này biến number trong hàm sẽ có giá trị là 1, tương tự cho 2, 3,4,5. Lưu ý với các bạn trong javascript không tồn tại khái niệm con trỏ và tham chiếu trong hàm 5. Hàm có return và hàm không có return Hàm có return là hàm có sử dụng từ khóa return để đặt ở cuối hàm với mục đích trả kết quả về để sử dụng tiếp ở những đoạn code bên ngoài. Ví dụ ta cần viết một hàm tính tổng của hai số a và b thì hàm này phải trả về giá trị là tổng của hai số a, b. Xem ví dụ sau // Khai báo hàm function tinh_tonga, b { // trả về kết quả là a + b return a + b; } // Sử dụng var so1 = 1; var so2 = 2; // truyền so1 và so2 vào hàm var ketqua = tinh_tongso1, so2; alertketqua; Hàm không có return là hàm không có sử dụng từ khóa return đặt trong hàm. Ví dụ viết chương trình in ra tổng của hai số a và b. // Khai báo hàm function tinh_tonga, b { là ' + a + b; } // Sử dụng var so1 = 1; var so2 = 2; // truyền so1 và so2 vào hàm tinh_tongso1, so2; Như vậy tùy vào mục đích mà ta dùng có return hay không có return. Nhưng thông thường ta sử dụng return ở những trường hợp cần lấy kết quả đó để xử lý tiếp, như ở ví dụ trên đó là mình lấy kết quả để in thông báo. 5. Giá trị mặc định của tham số default parameter Có một số trường hợp bạn muốn một tham số nào đó có thể được truyền hoặc không cần truyền vào đều được, lúc này chúng ta phải sử dụng nó như một tham số mặc định. Javascript không có cú pháp gán giá trị mặc định như PHP mà thay vào đó chúng ta sử dụng toán tử . Ví dụ Hàm hiển thị một thông báo. function showMessagemessage { // Nếu message không được truyền vào hoặc giá trị nó là rỗng // thì sẽ được thay thế bằng giá trị 'Không có tin nhắn' message = message 'Không có tin nhắn '; } // Cách 1 không truyền tham số showMessage; // Cách 2 Truyền tham số showMessage'Chào mừng bạn đến với Toán tử gồm hai vế, trong đó nếu vế TRÁI có giá trị rỗng undefined, null, false, ... kết quả sẽ trả về vế PHẢI, ngược lại nó sẽ trả về vế TRÁI. 6. Cách tạo hàm arrow function trong Javascript Arrow function còn được gọi là hàm mũi tên, tức là ta sẽ tạo hàm bằng cách sử dụng ký tự =>. Cách tạo này xuất hiện kể từ phiên bản ES6. Cú pháp var name_of_function = var1, var2, var3, ... => { // Nội dung function }; So sánh với cú pháp cơ bản mà chúng ta đã học ở đầu bài sẽ là function name_of_functionvar1, var2, var3, ... { // Nội dung function } Ví dụ Viết hàm kiểm tả một số có chia hết cho 3 hay không bằng hai cách trên. Cách 1 Sử dụng hàm thông thường. function chia_het_cho_3number{ if number % 3 == 0{ return true; } return false; } Cách 2 Sử dụng arrow function var chia_het_cho_3 = number => { if number % 3 == 0{ return true; } return false; }; 7. Một số ví dụ tạo hàm trong javascript Ví dụ 1 Viết chương trình kiểm tra một năm có phải là năm nhuận hay không Năm nhuận là năm chia hết cho 4, nếu chia hết cho 100 thì nó phải chia hết cho 400. Đây là định nghĩa năm nhuận còn chính xác hay không thì mình không biết nhé D vì có trường hợp nó sai. // khai báo hàm function kiem_tra_nam_nhuannam { // nếu năm chia hết cho 100 // thì kiểm tra nó có chia hết cho 400 hay không if nam % 100 == 0 { // nêu chia hết cho 400 thì là năm nhuận if nam % 400 == 0{ alertnam + ' là năm nhuận'; } else { // ngược lại không phải năm nhuận alertnam + ' không phải năm nhuận'; } } else if nam % 4 == 0{ // trường hợp chia hết cho 4 thì là năm nhuận alertnam + ' là năm nhuận'; } else { // cuối cùng trường hợp không phải năm nhuận alertnam + 'không phải là năm nhuận'; } } // sử dụng kiem_tra_nam_nhuan4; Ví dụ 2 thực hiện lại ví dụ trên nhưng sử dụng return để trả kết quả vè, nếu true thì là năm nhuận, false thì không phải năm nhuận. // khai báo hàm function kiem_tra_nam_nhuannam { // nếu năm chia hết cho 100 // thì kiểm tra nó có chia hết cho 400 hay không if nam % 100 == 0 { // nêu chia hết cho 400 thì là năm nhuận if nam % 400 == 0{ return true; } else { // ngược lại không phải năm nhuận return false; } } else if nam % 4 == 0{ // trường hợp chia hết cho 4 thì là năm nhuận return true; } else { // cuối cùng trường hợp không phải năm nhuận return false; } } // sử dụng var flag = kiem_tra_nam_nhuan4; if flag{ alert'là năm nhuận'; } else { alert'không phải là năm nhuận'; } Trong ví dụ này thay vì alert trực tiếp trong hàm thì ta trả về kết quả true/false, sau đó kiểm tra kết quả này nếu true thì là năm nhuận, nếu false thì không phải là năm nhuận. 9. Các hàm có sẵn trong Javascript là gì? Hàm có sẵn trong Javascript là những hàm được tích hợp sẵn trong trình biên dịch của Javascript. Bạn có thể gọi đến những hàm này ở bất cứ đâu trong chương trình. Mình có soạn một series riêng về danh sách các hàm trong js, mới bạn tham khảo tại đây. Lời kết Qua bài này bạn đã hiểu được cách tạo và sử dụng hàm trong javascript, Sau này khi lập trình với JS thì bạn sử dụng hàm rất nhiều, vì vậy cần phải nắm vững nó nhé. JavaScript là một ngôn ngữ lập trình phổ biến, được sử dụng rộng rãi cho trang web và máy chủ. Hãy cùng Got It tìm hiểu về function trong JavaScript ở bài viết này nhé. Tìm hiểu thêm Function là gì? Mục lục1. Function trong JavaScript là gì?2. Các yếu tố ảnh hưởng đến function3. Các tính chất của hàm trong JavaScript4. Xác định một function trong JavaScriptFunction DefinitionFunction Expression4. Đặt tên function5. Cách gọi function6. Phạm vi function 1. Function trong JavaScript là gì? Hàm trong JavaScript giống với hầu hết các ngôn ngữ lập trình và ngôn ngữ script khác. JavaScript Function cũng giống với hàm của hầu hết ngôn ngữ lập trình và ngôn ngữ script ngôn ngữ kịch bản khác. Trong JavaScript, một hàm cho phép bạn định nghĩa, đặt tên và thực thi một khối code, không giới hạn số lần. Một JavaScript được định nghĩa bằng cách sử dụng từ khóa function’. Function hàm là một trong những khối hợp nhất quan trọng nhất của JavaScript. Một hàm trong JavaScript giống với một phương thức – một loạt các câu lệnh để thực hiện một task nhiệm vụ hay tính toán một giá trị. Nhưng để một phương thức trở thành một function, phương thức đó phải nhận input giá trị vào và trả lại output giá trị ra. Tồn tại một mối quan hệ nào đó giữa input và output. Để sử dụng một function, bạn phải định nghĩa nó trong phạm vi bạn muốn gọi nó. 2. Các yếu tố ảnh hưởng đến function Trong JavaScript, một function được cấu thành và chịu ảnh hưởng của những yếu tố sau Code JavaScript hình thành nên function bodyDanh sách các tham sốBiến số tiếp cận được từ lexical scope phạm vi cục bộGiá trị trả vềBối cảnh this mà function được invokeFunction có tên hoặc ẩn danhBiến số nắm giữ đối tượng functionĐối tượng đối số hoặc không có trong arrow function 3. Các tính chất của hàm trong JavaScript Bạn đã biết tính chất của hàm trong JavaScript chưa? Hàm là một chương trình con được thiết kế để thực hiện một task nhất địnhCác hàm chỉ được thực hiện khi chúng được gọi. Điều này được gọi là invoke mời một giá trị có thể được truyền vào hàm và sử dụng bên trong luôn return trả lại một giá trị. Trong JavaScript, nếu không có giá trị return, hàm sẽ trả lại “undefined”.Hàm là đối tượng. 4. Xác định một function trong JavaScript Function Definition Định nghĩa function, hay khai báo function, bao gồm từ khóa function. Theo sau từ khóa này là Tên function. Tên function có thể chứa các chữ cái, chữ số, gạch dưới hay ký hiệu đô-la quy luật giống với biến sốDanh sách các tham số của function, đặt trong dấu ngoặc tròn và phân cách nhau bởi dấu phẩy. Câu lệnh JavaScript định nghĩa function đặt trong dấu ngoặc nhọn. Sau đây là cú pháp khai báo function //defining a function function { // code to be executed }; Function Expression Ngoài cách trên, còn có một cách khác để tạo function trong JavaScript. Đó là thông qua Function Expression, hay biểu thức hàm. Một function như vậy có thể là hàm ẩn danh Nó không nhất thiết phải có tên. Dưới đây là một ví dụ về một biểu thức function const square = functionnumber { return number * number } var x = square4 // x gets the value 16 Tuy nhiên, cũng có thể cung cấp tên cho một biểu thức hàm. Tên sẽ cho phép function nhắc đến chính nó và cũng giúp dễ dàng nhận dạng một function trong strack trace dấu vết ngăn xếp. const factorial = function facn { return n < 2 ? 1 n * facn - 1 } 4. Đặt tên function Function là hàm, hay còn gọi là chức năng. Vì thế tên function thường là một động từ. Tên function nên ngắn gọn và chính xác nhất có thể. Quan trọng hơn, nó phải miêu tả rõ function thực hiện việc gì. Như vậy, người đọc code sẽ hiểu được chính xác nhiệm vụ của function đó. Thông thường, một function sẽ được bắt đầu bằng một tiền tố động từ. Tiền tố này không miêu tả cụ thể công việc của function là gì. Vì vậy cần có sự đồng thuận trong một nhóm về ý nghĩa của các tiền tố này. Ví dụ, hàm bắt đầu với “show” thường sẽ cho xem thứ gì đó. Function bắt đầu với “get…” trả về một giá trị“create…” tạo“calc…” tính toán“check…” kiểm tra Cụ thể hơn, trong thực tế, có thể có những tên function như sau showMessage.. // cho xem một message getAge.. // trả lại số tuổi calcSum.. // tính tổng và trả lại giá trị createForm.. // tạo một form checkPermission.. // kiểm tra một permission, trả lại true/false 5. Cách gọi function Xác định một function không có nghĩa là thực hiện nó. Việc xác định chỉ đặt tên cho function và cụ thể hóa function sẽ làm gì khi được gọi. Gọi function mới là bước thực hành những hành động đã được nhắc đến với tham số được trình bày trước. Function phải nằm trong phạm vi chúng được gọi. Nhưng khai báo hàm có thể được hoist chuyển lên trước, như trong ví dụ dưới đây /* ... */ function squaren { return n * n } Lưu ý rằng hoisting chỉ có thể được thực hiện với khai báo hàm. Chúng ta không thể thực hiện hoisting với biểu thức hàm. 6. Phạm vi function Các biến số được định nghĩa trong một hàm không thể truy cập được từ bên ngoài vì biến chỉ xác định trong phạm vi hàm đó. Tuy nhiên, một hàm có thể truy cập tất cả các biến và hàm được xác định bên trong phạm vi nó được định nghĩa. Nói cách khác, một hàm được định nghĩa trong global scope phạm vi toàn bộ có thể truy cập toàn bộ biến được định nghĩa trong global scope. Một hàm được định nghĩa bên trong một hàm khác cũng có thể truy cập tất cả các biến được định nghĩa trong hàm cha, hay bất cứ biến nào mà hàm cha được truy cập. Got It hy vọng rằng với bài viết trên, bạn đã hiểu hơn về function trong JavaScript. Happy Coding. Tìm hiểu thêm Inverse Function là gì? Tổng quan về hàm ngượcTìm hiểu về Function trong MATLAB Hiện tại, Got It đang tuyển dụng các vị trí Software Engineer sử dụng JavaScript. Bạn có thể tham khảo tại đây hoặc subscribe chúng mình để không bỏ lỡ những tin tức mới nhất nhé! Got It Vietnam – Tham khảo MDN, Dmitri Pavlutin, Codeburst, Function JavaScript hàm trong JavaScript là một thành phần không thể thiếu trong cấu trúc chương trình. Hàm giúp chương trình trở nên rõ ràng, dễ hiểu bằng cách gộp những đoạn code lặp lại. Nhờ vậy mà việc bảo trì phần mềm cũng dễ dàng hơn. Ngoài ra, một hàm tốt độc lập và thực hiện một chức năng nhất định có thể tái sử dụng trong nhiều dự án khác nhau. Điều này giúp nâng cao hiệu suất công việc của lập trình viên. Trong bài viết về tương tác người dùng với alert, confirm và prompt bạn đã biết về các hàm có sẵn như alert, confirm và prompt. Sau đây, mình sẽ giới thiệu những thành phần cơ bản của hàm trong JavaScript. Qua đó, bạn sẽ hiểu hàm là gì, cách xây dựng hàm và ứng dụng hàm vào các dự án. Hàm trong JavaScript là một chương trình con giúp thực thi một công việc cụ thể. Để định nghĩa hàm trong JavaScript, bạn sử dụng từ khoá function với cú pháp là function functionName[parameter1], [parameter2],... { statement1; statement2; ... } Trong đó function là một từ khóa trong JavaScript dùng để định nghĩa hàm. functionName là tên của hàm tên tự đặt. [parameter1], [parameter2],... danh sách các tham số của hàm không bắt buộc. Cuối cùng là thân hàm, bao gồm một hoặc nhiều câu lệnh nằm trong cặp dấu ngoặc {}. Ví dụ hàm sayHello function sayHello { from } Để gọi hàm, bạn sử dụng tên hàm function sayHello { from } sayHello;sayHello; // Hello from // Hello from Khi gọi hàm, đoạn code bên trong thân hàm sẽ được thực thi. Trong ví dụ trên, đoạn code được thực hiện hai lần ứng với hai lần gọi hàm. Bạn có thể thấy rằng, hàm giúp tránh lặp lại code. Giả sử bạn cần thay đổi nội dung với trên, bạn chỉ cần thay đổi một chỗ bên trong thân hàm. Đến đây chắc bạn đã phần nào hiểu được hàm là gì rồi phải không? Sau đây, mình sẽ đi vào chi tiết các đặc điểm của hàm trong JavaScript. Biến cục bộ trong hàm Một biến được khai báo bên trong hàm, chỉ sử dụng được bên trong thân hàm đó. Biến này gọi là biến cục bộ hay biến địa phương. Ví dụ về biến cục bộ trong JavaScript function sayHello { const message = "Hello from } sayHello; // Hello from // Uncaught ReferenceError message is not defined Trong ví dụ trên, biến message là biến cục bộ bên trong hàm sayHello. Tức là biến message chỉ dùng được ở trong thân hàm sayHello. Khi bạn cố gắng truy cập vào biến message ở ngoài hàm, bạn sẽ bị lỗi Uncaught ReferenceError message is not defined. Biến ngoài hàm trong JavaScript Một hàm trong JavaScript có thể truy cập vào biến được khai báo bên ngoài hàm, ví dụ let message = "Hello from function sayHello { } sayHello; // Hello from Hơn nữa, bạn có thể thay đổi giá trị của biến ngoài hàm từ trong thân hàm let message = "Hello from function sayHello { message = "Hi!"; } sayHello; // Hi! // Hi! Tuy nhiên, nếu bên trong thân hàm khai báo một biến trùng tên với biến ngoài hàm thì biến ngoài hàm "bị bỏ qua" let message = "Hello from function sayHello { let message = "Hi!"; } sayHello; // Hi! // Hello from 📝 Biến toàn cục Một biến được khai báo ở ngoài tất cả các hàm, gọi là biến toàn cục. Biến toàn cục có thể được sử dụng và thay đổi giá trị ở mọi nơi trong chương trình. Vì vậy, bạn nên hạn chế sử dụng biến toàn cục. Điều này giúp hàm trở nên tốt hơn, dễ dàng tái sử dụng hơn vì nó độc lập với các biến bên ngoài. Truyền tham số vào hàm Trong trường hợp bạn muốn sử dụng giá trị của biến bên ngoài vào trong thân hàm, bạn có thể truyền tham số vào hàm thay vì sử dụng biến toàn cục. Ví dụ truyền tham số vào hàm function sayHellomessage { } sayHello"Hello!"; // Hello! sayHello"Hi!"; // Hi! Khi hàm sayHello được gọi, giá trị string được sao chép copy vào biến cục bộ message. Trong thân hàm sẽ sử dụng biến cục bộ đó. Chú ý khi truyền tham số vào hàm ngoại trừ object là kiểu dữ liệu tham chiếu, hàm trong JavaScript luôn thực hiện sao chép dữ liệu mà không làm thay đổi giá trị biến bên ngoài. Ví dụ let message = "Hello from function sayHellomessage { message = "Hi!"; } sayHello; // Hi! // Hello from Bạn thấy rằng là bên trong hàm đã gán giá trị Hi! cho biến message. Nhưng giá trị của biến message bên ngoài không hề thay đổi. 📝 Số lượng tham số của hàm là không giới hạn. Ví dụ hàm có nhiều tham số function sayHellomessage, site { + " from " + site;} sayHello"Hello", " Hello from Giá trị tham số mặc định Đối với hàm có tham số mà khi gọi hàm, bạn không truyền giá trị vào thì giá trị của tham số đó là undefined, ví dụ function sayHellomessage, site { + " from " + site; } sayHello"Hello"; // Hello from undefined Trong trường hợp này, bạn có thể định nghĩa "giá trị mặc định" cho tham số bằng cách sử dụng toán tử gán = như sau function sayHellomessage, site = " { + " from " + site; } sayHello"Hello"; // Hello from Lúc này, nếu bạn không truyền giá trị vào tham số site thì giá trị của nó mặc định là Trong ví dụ trên, giá trị mặc định chỉ là một giá trị string. Tuy nhiên, giá trị mặc định có thể là một biểu thức hoặc thậm chí là một hàm khác, ví dụ function aFunction { // code } function sayHellomessage, site = aFunction { + " from " + site; } Trong ví trên, hàm aFunction chỉ được gọi khi bạn không truyền giá trị cho tham số site. Có thể bạn quan tâm Làm sao để bắt buộc truyền tham số vào hàm?. Return trong JavaScript Hàm trong JavaScript có thể trả về giá trị khi gọi hàm. Ví dụ hàm tính tổng hai số function suma, b { return a + b;} const result = sum1, 2; // 3 Từ khóa return trong JavaScript có thể đặt ở bất kỳ đâu trong thân hàm. Khi gặp từ khóa return, hàm sẽ dừng lại và trả về giá trị sau return. Có thể dùng nhiều từ khóa return trong hàm function suma, b { if a === null a === undefined { số không hợp lệ!"; return; } if b === null b === undefined { số không hợp lệ!"; return; } return a + b;} const result1 = sum; // Tham số không hợp lệ! Ví dụ trên, mình kiểm tra điều kiện cho a và b. Nếu chúng bằng null hoặc undefined thì sẽ return luôn mà không thực hiện tính tổng. Bạn cũng thấy rằng, hai vị trí return đầu tiên không có giá trị nào theo sau. Khi đó, giá trị trả về mặc định là undefined function suma, b { return;} let r = sum1, 2; // undefined Ngoài ra, nếu hàm không có return thì giá trị trả về cũng là undefined function suma, b {} let r = sum1, 2; // undefined Chú ý không được xuống dòng ngay sau return. Vì JavaScript sẽ hiểu là bạn không return giá trị nào cả. Ví dụ function suma, b { return a + b; } const result = sum1, 2; // undefined Trình thông dịch JavaScript sẽ tự động thêm dấu ; ngay sau return. Do đó, giá trị trả về của hàm trên là undefined. Và thành phần a + b phía dưới sẽ không bao giờ được chạy tới. Nếu cần xuống dòng thì bạn phải đưa giá trị trả về vào trong cặp dấu ngoặc đơn như sau function suma, b { return a + b ; } const result = sum1, 2; // 3 Cách đặt tên hàm trong JavaScript Quy tắc đặt tên hàm trong JavaScript cũng giống như quy tắc đặt tên biến hay hằng trong JavaScript Bắt đầu bằng chữ cái, dấu gạch dưới _ hoặc kí tự "đô la" $. Sau kí tự đầu tiên, ngoài những kí tự trên, bạn có thể sử dụng thêm số 0-9. Không sử dụng từ khoá và từ dự trữ. Chuẩn hóa cách đặt tên hàm Vì hàm ứng với một hành động, nên tên hàm chuẩn thường bắt đầu bằng một động từ. Ví dụ một số động từ hay dùng để đặt tên hàm get... - trả về một giá trị. set... - gán giá trị cho một biến. check... - kiểm tra một số thứ và trả về giá trị boolean. display... - hiển thị một số thứ. ... Dĩ nhiên, JavaScript không quy định bạn phải đặt tên như vậy. Bạn chỉ cần đặt tên đúng theo quy tắc phía trên là đủ. Nhưng rõ ràng là nếu bạn đặt tên đúng chuẩn thì đồng nghiệp hoặc chính bản thân bạn khi đọc code sẽ dễ dàng hiểu được ý nghĩa của từng hàm. Sự phát sinh hàm trong chương trình Khi lập trình, thông thường sẽ có hai trường hợp mà bạn nên viết hàm Một đoạn chương trình được lặp đi, lặp lại nhiều lần. Việc gom chúng lại thành một hàm sẽ giúp chương trình ngắn gọn hơn, dễ hiểu hơn. Và khi cần thay đổi, bạn chỉ cần sửa một lần trong nội dung hàm, thay vì phải sửa nhiều chỗ. Bạn cần tách toàn bộ chương trình thành những phần nhỏ hơn. Hay còn gọi là module hoá. Lúc này, bạn có thể xây dựng logic cho toàn bộ chương trình trước khi thật sự định nghĩa nội dung từng hàm. Cách tiếp cận này gọi là "top-down". Với những dự án lớn, mỗi thành viên thường chỉ được làm những module nhỏ trong toàn bộ một project lớn. Sau đó khi các module nhỏ hoàn thành, sẽ có người ghép những module nhỏ đó thành một chương trình hoàn chỉnh. Do đó, việc phân chia chương trình thành những hàm tốt là vô cùng quan trọng. Như thế nào là một hàm tốt? Đây là một câu hỏi rất khó để trả lời. Theo mình, hàm tốt là hàm thỏa mãn một số điều kiện sau Một hàm chỉ thực hiện một chức năng duy nhất Độc lập với các yếu tố bên ngoài biến toàn cục, môi trường thực thi,... Dễ dàng tái sử dụng Tuy nhiên, không phải lúc nào bạn cũng có thể thoả mãn những yêu cầu trên. Hoặc không nhất thiết phải thoả mãn tất cả những yêu cầu trên. Pure function và non-pure function Nhìn chung, có hai loại hàm trong JavaScript là pure function hàm thuần khiết và non-pure function hàm không thuần khiết. Hàm thuần khiết là hàm không phụ thuộc vào yếu tố bên ngoài biến toàn cục, môi trường thực thi,.... Bất cứ khi nào bạn gọi hàm thuần khiết với cùng một đối số thì kết quả trả về luôn giống nhau. Do đó, pure function rất dễ để sử dụng, tái sử dụng hay bảo trì,... Theo mình, hàm thuần khiết là một hàm tốt. Ví dụ hàm thuần khiết function pureFuncnumber, factor { return number * factor; } let ret = pureFunc2, 10; // 20 Bạn thấy rằng, với cùng một giá trị truyền vào là 2 và 10 thì kết quả luôn là 20. Do đó, hàm trên là hàm thuần khiết. Ngược lại với hàm thuần khiết, hàm không thuần khiết là hàm phụ thuộc vào biến toàn cục hay môi trường thực thi. Vì vậy, khi bạn gọi cùng một hàm với cùng một đối số, nhưng kết quả lại có thể khác nhau. let factor = 10; function nonPureFuncnumber { return number * factor; } let ret = nonPureFunc2; // 20 factor = 11; ret = nonPureFunc2; // => 22 Rõ ràng, hàm nonPureFunc không phải là hàm thuần khiết. Vì hàm này phụ thuộc vào biến ngoài hàm là factor. Nghĩa là khi giá trị của biến factor thay đổi, kết quả trả về của hàm cũng thay đổi dù cho cùng giá trị truyền vào là 2. Tổng kết Vậy hàm là gì? Hàm trong JavaScript là một chương trình con giúp thực thi một công việc cụ thể với cú pháp là function functionName[parameter1], [parameter2],... { statement1; statement2; ... } Trong đó Tham số truyền vào hàm được sao chép vào biến cục bộ bên trong hàm. Trường hợp không truyền giá trị vào thì giá trị của tham số là undefined. Bạn có thể sử dụng toán tử = để khai báo giá trị mặc định cho tham số trong hàm. Biến cục bộ khai báo bên trong hàm chỉ dùng được ở thân hàm. Code bên ngoài không thể truy cập vào biến cục bộ trong hàm. Hàm có thể đọc và cập nhật giá trị của biến ngoài hàm. Nhưng khi bên trong hàm có khai báo một biến cùng tên với biến ngoài hàm thì biến ngoài hàm bị "bỏ qua". Hàm có thể trả về giá trị bằng cách dùng từ khóa return. Có thể có nhiều từ khóa return trong thân hàm. Khi gặp từ khóa return, hàm sẽ dừng lại ngay lập tức và trả về giá trị sau return. Nếu không có giá trị, biểu thức,... nào sau return, hoặc không có từ khóa return thì giá trị trả về của hàm là undefined. Quy tắc đặt tên hàm cũng giống quy tắc đặt tên biến và hằng. Và tên hàm nên bắt đầu bằng một động từ. Nên ưu tiên viết hàm thuần khiết để dễ dàng tái sử dụng, dễ dàng kiểm thử và tránh lỗi. Thực hành Bài 1 Viết hàm trả về giá trị nhỏ nhất của hai số giả sử giá trị truyền nào luôn là số. Xem đáp án function mina, b { return a < b ? a b; } min2, 5; // 2 min4, -1; // -1 min3, 3; // 3 Trường hợp hai số truyền vào bằng nhau thì dĩ nhiên kết quả là giá trị của hai số đó. Bài 2 Viết hàm kiểm tra xem một số có phải là số nguyên tố hay không. Nếu là số nguyên tố thì trả về true. Ngược lại, trả về false. Xem đáp án function isPrimenumber { if isNaNnumber return false; if number < 2 return false; if number === 2 return true; for i = 2; i * i <= number; i++ { if number % i === 0 return false; } return true; } // Ví dụ isPrime"abc"; // false isPrime0; // false isPrime2; // true isPrime5; // true isPrime6; // false Trong đó, hàm isNaNnumber dùng để kiểm tra giá trị của biến number xem có phải là NaN hay không. Nói cách khác, nếu isNaNnumber trả về false thì giá trị của number là số. ★ Nếu bạn thấy bài viết này hay thì hãy theo dõi mình trên Facebook để nhận được thông báo khi có bài viết mới nhất nhé Bài viết đăng tại dẫn cách dùng return trong JavaScript. Bạn sẽ học được khái niệm Return là gì trong JavaScript, cách dùng return để trả về giá trị trong hàm JavaScript, cách return nhiều giá trị trong javascript, cách sử dụng return true false trong Javascript, cũng như cách ứng dụng return để dừng chương trình trong Javascript sau bài học là gì trong JavaScriptReturn trong JavaScript là câu lệnh dùng để trả về giá trị từ hàm. Return có tác dụng kết thúc hàm và trả lại điều khiển cũng như kết quả xử lý hàm cho người gọi. Chúng ta có thể sử dụng hoặc lược bỏ return khi khai báo hàm trong JavaScript, và một hàm có chứa return trong JavaScript được gọi là hàm trả về giá trị trong dùng return trong hàm trả về giá trị trong JavaScriptKhi sử dụng return trong hàm trả về giá trị trong JavaScript, chúng ta viết giá trị trả về của hàm đằng sau lệnh return như saufunction tên hàm tham số 1, tham số 2, … { Câu lệnh 1 trong hàm; Câu lệnh 2 trong hàm; … return giá trị trả về;}Một giá trị sẽ được trả về sau khi gọi hàm trong JavaScript. Chúng ta có thể lưu giá trị này vào một biến bằng cách sử dụng toán tử = để sử dụng sau biến = tên hàm tham số 1, tham số 2, …Ví dụ cụ thểfunction addx, y{ let sum = x + y; return sum;}let z = add1, 2; hàm trên, chúng ta tiến hành tính tổng của các giá trị truyền vào hàm, gán tổng vào một biến và sau đó trả về giá trị của biến nữa, chúng ta có thể viết trực tiếp biểu thức đằng sau lệnh return như saufunction addx, y{ return x + y;}Cách dùng return trong hàm không trả về giá trị trong JavaScriptKhi sử dụng return trong hàm không trả về giá trị trong JavaScript, chúng ta chỉ viết lệnh return vào cuối hàm như saufunction tên hàm tham số 1, tham số 2, … { Câu lệnh 1 trong hàm; Câu lệnh 2 trong hàm; … return;}Ví dụ cụ thểfunction myfunc{ return;}myfunc;Lại nữa, khi chúng ta khai báo một hàm không trả về giá trị trong JavaScript, chúng ta cũng có thể lược bỏ đi lệnh return. Ví dụ ở trên có thể viết lại như saufunction myfunc{ ý, mặc dù các hàm không trả về giá trị trong JavaScript không trả về một giá trị nào tương ứng với các giá trị truyền vào hàm, tuy nhiên điều đó không có nghĩa là các hàm này không trả về bất cứ thứ gì cả. Thực chất, một giá trị mặc định undefined sẽ được trả về khi chúng ta không chỉ định một giá trị cụ thể trả về từ hàm. Ví dụfunction myfunc{ x = myfunc; nhiều giá trị trong javascriptVề cơ bản, chúng ta chỉ có thể ghi một giá trị trả về đằng sau lệnh return. Tuy nhiên chúng ta cũng có thể dễ dàng return nhiều giá trị trong javascript bằng cách chỉ định giá trị trả về này là một đối tượng chứa nhiều phần tử như mảng để chứa tất cả các giá trị cần trả về từ hàm trong nhiều giá trị trong javascript dưới dạng mảng và gán kết quả vào một biếnChúng ta có thể trả về nhiều giá trị trong hàm JavaScript bằng cách lưu giữ các giá trị này vào một mảng và chỉ định mảng đó là giá trị trả về sau lệnh return. Ví dụfunction myfunc{ name = "Kiyoshi"; old = 30; return [name, old];}Một mảng sẽ được trả về sau khi gọi hàm, và chúng ta có thể gán mảng kết quả vào một biến, và truy cập vào phần tử trong mảng thông qua biến để lấy ra các giá trị trả về như saux = myfunc; nhiều giá trị trong JavaScript dưới dạng mảng và gán kết quả vào một mảng khácNgoài cách gán kết quả return nhiều giá trị trong JavaScrit vào một biến như ở trên, chúng ta cũng có thể gán kết quả trực tiếp vào một mảng khác, với các phần tử trong mảng đó sẽ nhận tương ứng các giá trị trả về trong mảng kết dụ, chúng ta có hàm tìm max min trong JavaScript sau đây. Hàm này sẽ nhận các số vào và trả về 2 số lớn nhất và nhỏ nhất trong các số đã cho như saufunction find_max_mina, b, c { const maxNum = b, c; const minNum = b, c; return [maxNum, minNum]; }Để nhận kết quả trả về từ hàm, chúng ta có thể chuẩn bị một mảng chứa hai phần tử max , min, và nhận các kết quả tương ứng trả về từ hàm, sau đó gọi tên các phần tử đó ra để lấy kết quả của hàm như saulet [max, min] = find_max_min2, 5, 3; làm này sẽ rất tiện lợi khi chúng ta muốn đặt tên các biến bên ngoài hàm và nhận các giá trị tương ứng trả về từ hàm trong JavaScriptReturn true false trong JavascriptReturn trong JavaScript là câu lệnh dùng để trả về giá trị từ hàm. Giá trị trả về từ hàm này ngoài là các giá trị cụ thể như số, chữ trong các ví dụ mà Kiyoshi đã hướng dẫn ở trên thì cũng có thể là các giá trị thuộc kiểu Boolean với giá trị true hoặc ta có thể trả về các giá trị true hoặc false này bằng lệnh return bằng cách chỉ định trực tiếp, hoặc là thông qua một biểu thức trả về kết quả boolean giống như dưới đâyReturn true false trong Javascript bằng cách chỉ định trực tiếp giá trịNói đơn giản thì chúng ta chỉ định trực tiếp một giá trị trả về từ hàm là true hoặc false như saufuntion sayhi{ return false};let a = sayhi; ví dụ này, hàm sayhi khi được chạy sẽ thực hiện một hành động in dòng chữ Hello, sau đó trả về giá trị false bằng lệnh ta thường sử dụng cách return trực tiếp giá trị ở trên khi xử lý các event trong JavaScript, trong đó return false có tác dụng dừng hoàn toàn một event sau khi đã gọi xong event đó. Và return true thì lại ngược lại, cho phép event đó có thể tiếp tục thực thi sau khi nó được dụ cụ thể, chúng ta gọi hàm sayhi ở trên khi người dùng click vào một link, hay một button như sauTrong ví dụ này, chúng ta có một event click chuột vào đường link chỉ định trong thẻ href, và kết quả return của hàm sayhi sẽ quyết định chúng ta có thể mở đường link này sau khi click chuột hay hàm sayhi return giá trị false, nên kết quả là kể cả sau khi click vào link thì chúng ta cũng sẽ không thể mở được nó. Ngược lại nếu sửa giá trị trả về của hàm sayhi thành return true thì sau khi click, đường link mới có thể mở true false trong Javascript thông qua biểu thứcMột cách khác nữa để return true false trong JavaScript đó chính là sử dụng một biểu thức mà kết quả của biểu thức này thuộc dạng boolean trả về true hoặc false. Một ví dụ điển hình đó là sử dụng biểu thức điều kiện để return true false trong JavaScript như saufunction check_10 x { return x > 10;};let check = check_1020if check == true{ đã cho lớn hơn 10";}Ở ví dụ này, kết quả của hàm check_10 sẽ quyết định việc dòng chữ Số đã cho lớn hơn 10 có được in ra màn hình hay ta thường sử dụng cách return true false thông qua biểu thức ở trên trong các hàm có mục đích đánh giá giá trị trong JavaScript. Các giá trị sẽ được đánh giá trong hàm trước khi quyết định sẽ trả về giá trị true hay false từ hàm đó, và sử dụng giá trị này như là đầu vào cho một xử lý dụ, chúng ta viết lại hàm ở trên thành một hàm kiểm tra một chuỗi có phải là địa chỉ ip hay không như saufunction check_ip str { const regexExp = /^[0-9][1-9][0-9]1[0-9]{2}2[0-4][0-9]25[0-5]\.{3}[0-9][1-9][0-9]1[0-9]{2}2[0-4][0-9]25[0-5]$/gi; return str = " strlet str2 = " str2Ở ví dụ này, chúng ta sử dụng hàm check_ip để đánh giá một chuỗi có phải được viết theo đúng cú pháp của một địa chỉ ip hay không, và return các kết quả true hoặc false về từ chương trình trong Javascript bằng returnReturn có tác dụng kết thúc hàm và trả lại điều khiển cũng như kết quả xử lý hàm cho người gọi, do đó chúng ta có thể sử dụng return để dừng chương trình trong ví dụ sau, chúng ta sẽ dừng chương trình trong Javascript bằng cách đặt lệnh return vào vị trí cần dừng chương trìnhfunction check_oldold{ if old 30{ 30 rồi'; }else{ còn 20'; }}check_old17;check_old20;Trong ví dụ này, nếu tuổi nhập vào dưới 18, dòng Em chưa 18 sẽ được in ra màn hình, sau đó lệnh return được thực hiện và chương trình cũng kết thúc tại đây. Do đó các lệnh xử lý điều kiện còn lại trong chương trình cũng sẽ không thực kếtTrên đây Kiyoshi đã hướng dẫn bạn về cách dùng return để trả về giá trị trong hàm JavaScript, cũng như xử lý trong hàm trả về nhiều giá trị trong JavaScript rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay hãy cùng tìm hiểu những kiến thức sâu hơn về JavaScript trong các bài học tiếp Link chia sẻ và cùng lan tỏa kiến thức lập trình Nhật Bản tại Việt Nam!HOME › học javascript - lập trình javascript cơ bản>>08. hàm trong javascriptBài sauMutable, Immutable Objects và sự biến đổi của giá trị trong hàm JavaScriptBài tiếpFunction object trong JavaScript

hàm tính tiền trong javascript