Hàm JavaScript là một khối mã được thiết kế để thực hiện một tác vụ cụ thể. Nó được thực thi khi nó được gọi [khi một cái gì đó gọi nó]. Một chức năng có thể là một chức năng được đặt tên hoặc ẩn danh. Bài viết này nói về cách kiểm tra xem một biến có thuộc loại 'Hàm' hay không. Trước khi chúng ta hiểu các phương pháp khác nhau để thực hiện điều này và cũng như lý do tại sao bất kỳ ai cũng muốn gán một hàm cho một biến, hãy xem cách các hàm được đặt tên và ẩn danh được khai báo
Mục lục
- Các kiểu khai báo hàm
- Lợi ích của việc gán một chức năng cho một biến
- Mã số
- Hãy cẩn thận
Các kiểu khai báo hàm
Khai báo hàm được đặt tên
Hàm này có một mã định danh được đặt tên được liên kết với nó, có thể được sử dụng để gọi hàm
function functionName[parameter1, paramter2] { //code}
Khai báo hàm ẩn danh
Đó là một chức năng được khai báo mà không có bất kỳ định danh được đặt tên nào để tham chiếu đến nó
var anon = function[] { //code }
Lợi ích của việc gán một chức năng cho một biến
Việc gán một hàm cho một biến cho phép chúng ta chuyển biến này làm tham số cho một hàm khác. Điều này đặc biệt hữu ích trong các tình huống yêu cầu thời gian chạy linh hoạt. Bạn sẽ chủ yếu sử dụng các chức năng như vậy để chạy tải mã để phản hồi một sự kiện kích hoạt. Ví dụ: một nút được nhấp bằng trình xử lý sự kiện
myButton. title = function[] {
//response actions
}
Mã số
Sử dụng toán tử instanceof
Toán tử instanceof được sử dụng để kiểm tra loại đối tượng trong thời gian chạy. Toán tử này trả về một giá trị Boolean [true hoặc false]. Trong ví dụ dưới đây, câu lệnh IF được sử dụng để kiểm tra xem loại tham số được truyền cho checkFunction[] có phải là loại Hàm hay không
//javascript check if function-Using instanceof operator
<
script >
// Declare a variable and initialize it // Declare a variable and initialize it with an anonymous function
var exampleVar = function[] {
/* A set of statements */ };
// to check a variable is of function type or not
function checkFunction[x] {
if [x instanceof Function] {
document.write["Variable is of function type"];
} else {
document.write["Variable is not of function type"];
}
}
// Function call
checkFunction[exampleVar];
<
/script>
Sử dụng phép so sánh Bình đẳng nghiêm ngặt [===] cùng với toán tử typeof
Trong JavaScript, Toán tử so sánh đẳng thức nghiêm ngặt [===] được sử dụng để kiểm tra xem hai thực thể không chỉ có giá trị bằng nhau mà còn có cùng loại. Toán tử typeof trả về một chuỗi cho biết loại toán hạng chưa được đánh giá. Cả hai toán tử này đều cung cấp kết quả Boolean. Kết quả này có thể được so sánh bằng cách sử dụng câu lệnh IF để kiểm tra xem loại đối tượng có phải là "Hàm"
//javascript check if function-Using Strict Equality comparison [===] along with typeof operator
// Declare a variable and initialize it with an anonymous function
var exampleVar = function[] {
/* A set of statements */ };
// to check a variable is of function type or not
function checkFunction[x] {
if [typeof x === "function"] {
document.write["Variable is of function type"];
} else {
document.write["Variable is not of function type"];
}
}
// Function call
checkFunction[exampleVar];
Sử dụng đối tượng. nguyên mẫu. toString
Phương pháp này sử dụng đối tượng. nguyên mẫu. toString. Mọi đối tượng đều có một phương thức toString[], phương thức này trả về '[loại đối tượng]' trong đó 'loại' là loại đối tượng. Câu lệnh IF có thể được sử dụng để so sánh xem giá trị trả về có thuộc loại 'Hàm' hay không
//javascript check if function-Using object.prototype.toString
// Declare a variable and initialize it with an anonymous function
var exampleVar = function[] {
/* A set of statements */ };
// to check a variable is of function type or not
function checkFunction[x] {
if [Object.prototype.toString.call[x] == '[object Function]'] {
document.write["Variable is of function type"];
} else {
document.write["Variable is not of function type"];
}
}
// Function call
checkFunction[exampleVar];
Hãy cẩn thận
Trong Chrome typeof[obj] === 'hàm' dường như là nhanh nhất;
Biến có nghĩa là bất cứ điều gì có thể thay đổi. Trong JavaScript, một biến lưu trữ dữ liệu có thể thay đổi sau này
Khai báo một biến
Trong JavaScript, một biến có thể được khai báo bằng các từ khóa
let msg;
msg = "Hello JavaScript!"; // assigning a string value
2, let msg;
msg = "Hello JavaScript!"; // assigning a string value
3, let msg;
msg = "Hello JavaScript!"; // assigning a string value
4- từ khóa var được sử dụng để khai báo các biến kể từ khi JavaScript được tạo ra. Thật khó hiểu và dễ bị lỗi khi sử dụng các biến được khai báo bằng
2let msg; msg = "Hello JavaScript!"; // assigning a string value
- hãy để từ khóa loại bỏ sự nhầm lẫn và lỗi của
2. Đây là cách khai báo biến mới và được đề xuất trong JavaScriptlet msg; msg = "Hello JavaScript!"; // assigning a string value
- Từ khóa const dùng để khai báo một biến hằng, không thể thay đổi khi đã gán giá trị
Ở đây, chúng ta sẽ sử dụng từ khóa
let msg;
msg = "Hello JavaScript!"; // assigning a string value
3 để khai báo biến. Để khai báo một biến, hãy viết từ khóa let msg;
msg = "Hello JavaScript!"; // assigning a string value
3 theo sau là tên của biến bạn muốn cung cấp, như hình dưới đâyVí dụ. Sự định nghĩa biến
var anon = function[] { //code }
3Thử nó
Trong ví dụ trên,
let msg;
msg = "Hello JavaScript!"; // assigning a string value
9 là một khai báo biến. Nó chưa có bất kỳ giá trị nào. Giá trị mặc định của các biến không có bất kỳ giá trị nào là không xác địnhBạn có thể gán giá trị cho một biến bằng cách sử dụng toán tử
var anon = function[] { //code }
50 khi bạn khai báo nó hoặc sau khi khai báo và trước khi truy cập nóVí dụ. Khởi tạo biến
let msg;
msg = "Hello JavaScript!"; // assigning a string value
Thử nó
Trong ví dụ trên, biến
var anon = function[] { //code }
51 được khai báo trước và sau đó được gán giá trị chuỗi ở dòng tiếp theoBạn có thể khai báo một biến và gán giá trị cho nó trên cùng một dòng. Các giá trị có thể thuộc bất kỳ kiểu dữ liệu nào, chẳng hạn như chuỗi, số, boolean, v.v.
Ví dụ. Khai báo và khởi tạo biến
var anon = function[] { //code }
5Thử nó
Nhiều biến có thể được khai báo trong một dòng, như hình bên dưới
Ví dụ. Nhiều biến
var anon = function[] { //code }
9Thử nó
Bạn có thể sao chép giá trị của một biến này sang một biến khác, như hình bên dưới
Ví dụ. Sao chép biến
myButton. title = function[] {
//response actions
}
0Thử nó
JavaScript cho phép nhiều khoảng trắng và ngắt dòng khi bạn khai báo một biến
Ví dụ. Khoảng trắng và ngắt dòng
myButton. title = function[] {
//response actions
}
1Thử nó
Tên biến phân biệt chữ hoa chữ thường trong JavaScript. Bạn không thể khai báo một biến trùng lặp bằng cách sử dụng từ khóa
let msg;
msg = "Hello JavaScript!"; // assigning a string value
3 có cùng tên và trường hợp. JavaScript sẽ đưa ra một lỗi cú pháp. Mặc dù, các biến có thể có cùng tên nếu được khai báo bằng từ khóa let msg;
msg = "Hello JavaScript!"; // assigning a string value
2 [đây là lý do tại sao nên sử dụng let msg;
msg = "Hello JavaScript!"; // assigning a string value
3]Ví dụ. Lỗi cú pháp
myButton. title = function[] {
//response actions
}
5Quy ước đặt tên biến JavaScript
- Tên biến phân biệt chữ hoa chữ thường trong JavaScript. Vì vậy, tên biến
51,var anon = function[] { //code }
56,var anon = function[] { //code }
57,var anon = function[] { //code }
58 được coi là biến riêngvar anon = function[] { //code }
- Tên biến có thể chứa các chữ cái, chữ số hoặc ký hiệu $ và _
- Tên biến không được bắt đầu bằng chữ số 0-9
- Tên biến không thể là từ khóa dành riêng trong JavaScript, e. g. var, function, return không thể là tên biến
Nhập động
JavaScript là một ngôn ngữ gõ lỏng lẻo. Điều đó có nghĩa là bạn không cần chỉ định kiểu dữ liệu mà một biến sẽ chứa. Bạn có thể cập nhật giá trị của bất kỳ loại nào sau khi khởi tạo. Nó còn được gọi là gõ động
Ví dụ. Biến được gõ lỏng lẻo
//javascript check if function-Using instanceof operator
<
script >
// Declare a variable and initialize it // Declare a variable and initialize it with an anonymous function
var exampleVar = function[] {
/* A set of statements */ };
// to check a variable is of function type or not
function checkFunction[x] {
if [x instanceof Function] {
document.write["Variable is of function type"];
} else {
document.write["Variable is not of function type"];
}
}
// Function call
checkFunction[exampleVar];
<
/script>
0Thử nó
Biến không đổi trong JavaScript
Sử dụng từ khóa
let msg;
msg = "Hello JavaScript!"; // assigning a string value
4 để khai báo biến hằng trong JavaScript- Các biến hằng phải được khai báo và khởi tạo cùng một lúc
- Giá trị của các biến hằng không thể thay đổi sau khi khởi tạo chúng
Ví dụ. Không biến đổi
//javascript check if function-Using instanceof operator
<
script >
// Declare a variable and initialize it // Declare a variable and initialize it with an anonymous function
var exampleVar = function[] {
/* A set of statements */ };
// to check a variable is of function type or not
function checkFunction[x] {
if [x instanceof Function] {
document.write["Variable is of function type"];
} else {
document.write["Variable is not of function type"];
}
}
// Function call
checkFunction[exampleVar];
<
/script>
2Thử nó
Giá trị của biến hằng không thể thay đổi nhưng nội dung của giá trị thì có thể thay đổi. Ví dụ: nếu một đối tượng được gán cho một biến const thì giá trị cơ bản của đối tượng có thể được thay đổi
Ví dụ. Không biến đổi
//javascript check if function-Using instanceof operator
<
script >
// Declare a variable and initialize it // Declare a variable and initialize it with an anonymous function
var exampleVar = function[] {
/* A set of statements */ };
// to check a variable is of function type or not
function checkFunction[x] {
if [x instanceof Function] {
document.write["Variable is of function type"];
} else {
document.write["Variable is not of function type"];
}
}
// Function call
checkFunction[exampleVar];
<
/script>
3Thử nó
Cách tốt nhất là đặt tên biến không đổi bằng chữ in hoa để phân biệt chúng với các biến không cố định khác
Phạm vi biến đổi
Trong JavaScript, một biến có thể được khai báo trong phạm vi toàn cục hoặc phạm vi cục bộ
Biến toàn cầu
Các biến được khai báo ngoài bất kỳ hàm nào được gọi là biến toàn cục. Chúng có thể được truy cập ở bất kỳ đâu trong mã JavaScript, ngay cả bên trong bất kỳ chức năng nào
Biến cục bộ
Các biến được khai báo bên trong hàm được gọi là biến cục bộ của hàm đó. Chúng chỉ có thể được truy cập trong hàm nơi chúng được khai báo chứ không thể truy cập bên ngoài
Ví dụ sau bao gồm các biến toàn cục và cục bộ
Ví dụ. Biến toàn cầu và cục bộ
let msg;
msg = "Hello JavaScript!"; // assigning a string value
0Thử nó
Tìm hiểu phạm vi toàn cầu và cục bộ trong JavaScript để biết thêm thông tin
Khai báo Biến không có var và để Từ khóa
Các biến có thể được khai báo và khởi tạo mà không cần từ khóa
let msg;
msg = "Hello JavaScript!"; // assigning a string value
2 hoặc let msg;
msg = "Hello JavaScript!"; // assigning a string value
3. Tuy nhiên, một giá trị phải được gán cho một biến được khai báo mà không có từ khóa let msg;
msg = "Hello JavaScript!"; // assigning a string value
2Các biến được khai báo không có từ khóa
let msg;
msg = "Hello JavaScript!"; // assigning a string value
2 trở thành biến toàn cục, bất kể chúng được khai báo ở đâu. Truy cập Phạm vi biến trong JavaScript để tìm hiểu về nó