Cách gọi một biến từ một hàm trong javascript

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.onclick = 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

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

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
    let msg;
    msg = "Hello JavaScript!"; // assigning a string value
    
    2
  • hãy để từ khóa loại bỏ sự nhầm lẫn và lỗi của
    let msg;
    msg = "Hello JavaScript!"; // assigning a string value
    
    2. Đây là cách khai báo biến mới và được đề xuất trong JavaScript
  • 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 đây

Ví dụ. Sự định nghĩa biến

var anon = function() { //code }
3

Thử 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 định

Bạ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 theo

Bạ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 }
5

Thử 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 }
9

Thử 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.onclick = function() {
    //response actions
}
0

Thử 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.onclick = function() {
    //response actions
}
1

Thử 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.onclick = function() {
    //response actions
}
5

Quy ướ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
    var anon = function() { //code }
    
    51,
    var anon = function() { //code }
    
    56,
    var anon = function() { //code }
    
    57,
    var anon = function() { //code }
    
    58 được coi là biến riêng
  • 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>
0

Thử 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>
2

Thử 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>
3

Thử 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
0

Thử 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
2

Cá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ó

Làm cách nào để truy cập biến từ hàm trong JavaScript?

Vì vậy, cách dễ nhất để làm cho biến của bạn có thể truy cập được từ bên ngoài hàm là trước tiên hãy khai báo bên ngoài hàm, sau đó sử dụng nó bên trong hàm. .
hàm một(){ var a;
và một; . làm việc gì đó(). .
và một;

Làm cách nào để truy cập biến bên ngoài chức năng trong JavaScript?

Các biến được khai báo Toàn cầu (bên ngoài bất kỳ chức năng nào) có Phạm vi Toàn cầu. Các biến toàn cục có thể được truy cập từ mọi nơi trong chương trình JavaScript . Các biến được khai báo với var , let và const khá giống nhau khi được khai báo bên ngoài khối.

Chúng ta có thể gán chức năng cho biến trong JavaScript không?

Có thể sử dụng một biểu thức hàm và gán nó cho một biến thông thường, e. g. const giai thừa = hàm(n) {. }. Nhưng cách khai báo hàm function factorial(n) gọn nhẹ (không cần const và = ). Một thuộc tính quan trọng của khai báo hàm là cơ chế cẩu của nó