Hướng dẫn javascript get variable from function - javascript lấy biến từ hàm

Xin chào, tôi mới ở JavaScript Tôi chỉ muốn hỏi liệu có thể nhận được giá trị bên trong một hàm không?

Mã mẫu

function a[]{
  var sample = "hello world"
};

Sau đó, tôi sẽ đi đến bối cảnh toàn cầu và có được biến sample

sample2 = sample
console.log[sample2];

Và khi tôi console.log Sample2 thì giá trị của Sample2 phải là "Hello World", vui lòng chia sẻ kiến ​​thức của bạn, tôi muốn tìm hiểu thêm trong JavaScript Cảm ơn trước

Hỏi ngày 21 tháng 10 năm 2016 lúc 9:21Oct 21, 2016 at 9:21

1

Giống như bất kỳ ngôn ngữ lập trình nào khác, tất cả những gì bạn cần làm là trả về giá trị mà bạn cần truy cập. Vì vậy, bạn có thể làm cho chức năng của bạn trả về giá trị biến và cách đó bạn có thể truy cập nó. Hoặc làm cho nó trả về một đối tượng có thêm các hàm phụ mà bạn có thể trả về giá trị

Vì vậy, theo cách tiếp cận đầu tiên,

function a[] {
    var sample = "hello world";
    return sample;
}

var sample2 = a[];
console.log[sample2]; //This prints hello world

Hoặc, bạn có thể sử dụng phương pháp thứ hai, nơi bạn có thể thay đổi biến riêng tư bằng cách hiển thị các chức năng thứ cấp như

function a[] {
    var sample = "hello world";
    return {
        get : function [] {
            return sample;
        },
        set : function [val] {
            sample = val;
        }
    }
}

//Now you can call the get function and set function separately
var sample2 = new a[];
console.log[sample2.get[]]; // This prints hello world

sample2.set['Force is within you']; //This alters the value of private variable sample

console.log[sample2.get[]]; // This prints Force is within you

Hy vọng điều này giải quyết sự nghi ngờ của bạn.

Đã trả lời ngày 21 tháng 10 năm 2016 lúc 9:37Oct 21, 2016 at 9:37

Akhil Arjunakhil ArjunAkhil Arjun

1.1277 Huy hiệu bạc12 Huy hiệu đồng7 silver badges12 bronze badges

Có nhiều cách để làm điều này và cho đến nay, cách tốt nhất là khai báo các biến của bạn bên ngoài hàm, sau đó gán chúng bên trong hàm.

var sample;
var myname;

function a[] {
    sample = "Hello World";
    myname = "Solly M";
}

console.log[sample];
console.log[myname];

Đã trả lời ngày 21 tháng 10 năm 2016 lúc 9:28Oct 21, 2016 at 9:28

RealsollymrealsollymRealSollyM

1.4801 Huy hiệu vàng21 Huy hiệu bạc34 Huy hiệu đồng1 gold badge21 silver badges34 bronze badges

Cách tốt nhất để làm điều này là để chức năng trả về một giá trị

function a[]{
  var sample = "hello world";
  return sample;
}
sample2 = a[];
console.log[sample2];

Đã trả lời ngày 21 tháng 10 năm 2016 lúc 9:23Oct 21, 2016 at 9:23

Frazrasfrazrasfrazras

5.4084 Huy hiệu vàng29 Huy hiệu bạc40 Huy hiệu đồng4 gold badges29 silver badges40 bronze badges

Tất cả các trình duyệt hiện đại hỗ trợ chạy JavaScript trong "Chế độ nghiêm ngặt".

Bạn sẽ tìm hiểu thêm về cách sử dụng chế độ nghiêm ngặt trong một chương sau của hướng dẫn này.

  • Trong "Chế độ nghiêm ngặt", các biến không được khai báo không tự động toàn cầu.
  • Các biến toàn cầu trong HTML
  • Với JavaScript, phạm vi toàn cầu là môi trường JavaScript.

Phạm vi khối

Trước ES6 [2015], JavaScript chỉ có phạm vi và phạm vi chức năng toàn cầu.Global Scope and Function Scope.

ES6 đã giới thiệu hai từ khóa JavaScript mới quan trọng: letconst.

Hai từ khóa này cung cấp phạm vi khối trong JavaScript.Block Scope in JavaScript.

Các biến được khai báo bên trong một khối {} không thể được truy cập từ bên ngoài khối:

Thí dụ

{& nbsp; & nbsp; Let x = 2; } // x không thể được sử dụng ở đây
  let x = 2;
}
// x can NOT be used here

Các biến được khai báo với từ khóa var không thể có phạm vi khối.

Các biến được khai báo bên trong một khối {} có thể được truy cập từ bên ngoài khối.

Thí dụ

{& nbsp; & nbsp; Let x = 2; } // x không thể được sử dụng ở đây
  var x = 2;
}
// x CAN be used here

Các biến được khai báo với từ khóa var không thể có phạm vi khối.

Các biến được khai báo bên trong một khối {} có thể được truy cập từ bên ngoài khối. LOCAL to the function.

Thí dụ

{& nbsp; & nbsp; Let x = 2; } // x không thể được sử dụng ở đây

Các biến được khai báo với từ khóa var không thể có phạm vi khối.
  let carName = "Volvo";
  // code here CAN use carName
}

Các biến được khai báo bên trong một khối {} có thể được truy cập từ bên ngoài khối.

{& nbsp; & nbsp; var x = 2; } // x có thể được sử dụng ở đây

Phạm vi địa phươngFunction Scope:

Các biến được khai báo trong hàm JavaScript, trở thành cục bộ cho hàm.

// Mã ở đây không thể sử dụng Carname

hàm myFunction [] {& nbsp; & nbsp; let carname = "volvo"; & nbsp; // Mã ở đây có thể sử dụng carname}

// Mã ở đây không thể sử dụng Carname

Hãy tự mình thử »

Các biến cục bộ có phạm vi chức năng:

Chúng chỉ có thể được truy cập từ bên trong chức năng.

Vì các biến cục bộ chỉ được nhận ra bên trong các hàm của chúng, các biến có cùng tên có thể được sử dụng trong các chức năng khác nhau.Function Scope:

Các biến cục bộ được tạo khi một hàm bắt đầu và xóa khi hàm được hoàn thành.
  var carName = "Volvo";   // Function Scope
}

Phạm vi chức năng
  let carName = "Volvo";   // Function Scope
}

JavaScript có phạm vi chức năng: Mỗi hàm tạo ra một phạm vi mới.
  const carName = "Volvo";   // Function Scope
}

Các biến được xác định bên trong một hàm không thể truy cập [có thể nhìn thấy] từ bên ngoài hàm.

Các biến được khai báo với var, letconst khá giống nhau khi được khai báo bên trong một hàm.GLOBAL.

Thí dụ

{& nbsp; & nbsp; Let x = 2; } // x không thể được sử dụng ở đây
// code here can use carName

Các biến được khai báo với từ khóa var không thể có phạm vi khối.
// code here can also use carName
}

{& nbsp; & nbsp; var x = 2; } // x có thể được sử dụng ở đây

Phạm vi địa phươngGlobal Scope:

Các biến được khai báo trong hàm JavaScript, trở thành cục bộ cho hàm.

// Mã ở đây không thể sử dụng Carname

hàm myFunction [] {& nbsp; & nbsp; let carname = "volvo"; & nbsp; // Mã ở đây có thể sử dụng carname}Globally [outside any function] have Global Scope.

// Mã ở đây không thể sử dụng Carname variables can be accessed from anywhere in a JavaScript program.

Hãy tự mình thử »

Các biến cục bộ có phạm vi chức năng:Global Scope:

Chúng chỉ có thể được truy cập từ bên trong chức năng.

Vì các biến cục bộ chỉ được nhận ra bên trong các hàm của chúng, các biến có cùng tên có thể được sử dụng trong các chức năng khác nhau.

Các biến cục bộ được tạo khi một hàm bắt đầu và xóa khi hàm được hoàn thành.

Phạm vi chức năng

JavaScript có phạm vi chức năng: Mỗi hàm tạo ra một phạm vi mới.

Các biến được xác định bên trong một hàm không thể truy cập [có thể nhìn thấy] từ bên ngoài hàm.

Các biến được khai báo với var, letconst khá giống nhau khi được khai báo bên trong một hàm.

Tất cả đều có phạm vi chức năng:GLOBAL variable.

hàm myFunction [] {& nbsp; var carname = "volvo"; & nbsp; & nbsp; // Phạm vi chức năng}

Thí dụ

hàm myFunction [] {& nbsp; Đặt carname = "Volvo"; & nbsp; & nbsp; // Phạm vi chức năng}

hàm myFunction [] {& nbsp; const carname = "volvo"; & nbsp; & nbsp; // Phạm vi chức năng}

Các biến JavaScript toàn cầu
  carName = "Volvo";
}

{& nbsp; & nbsp; var x = 2; } // x có thể được sử dụng ở đây

Phạm vi địa phương

Các biến được khai báo trong hàm JavaScript, trở thành cục bộ cho hàm.

// Mã ở đây không thể sử dụng Carname

hàm myFunction [] {& nbsp; & nbsp; let carname = "volvo"; & nbsp; // Mã ở đây có thể sử dụng carname}

// Mã ở đây không thể sử dụng Carname

Hãy tự mình thử »

Các biến cục bộ có phạm vi chức năng:

Chúng chỉ có thể được truy cập từ bên trong chức năng.

Vì các biến cục bộ chỉ được nhận ra bên trong các hàm của chúng, các biến có cùng tên có thể được sử dụng trong các chức năng khác nhau.

Thí dụ

Các biến cục bộ được tạo khi một hàm bắt đầu và xóa khi hàm được hoàn thành.
// code here can not use window.carName

{& nbsp; & nbsp; var x = 2; } // x có thể được sử dụng ở đây

Phạm vi địa phương

Các biến được khai báo trong hàm JavaScript, trở thành cục bộ cho hàm.

// Mã ở đây không thể sử dụng Carname
Any function, including the window object, can overwrite your global variables and functions.

hàm myFunction [] {& nbsp; & nbsp; let carname = "volvo"; & nbsp; // Mã ở đây có thể sử dụng carname}

// Mã ở đây không thể sử dụng Carname

Hãy tự mình thử »

Các biến cục bộ có phạm vi chức năng:

Chúng chỉ có thể được truy cập từ bên trong chức năng.

Vì các biến cục bộ chỉ được nhận ra bên trong các hàm của chúng, các biến có cùng tên có thể được sử dụng trong các chức năng khác nhau.



Làm thế nào để bạn kéo một biến từ một hàm?

Sử dụng cú pháp thuộc tính đối tượng để truy cập một biến bên ngoài hàm. Trong một chức năng có tên Func, sử dụng Func cú pháp. Biến = giá trị để lưu trữ giá trị trong biến như một thuộc tính của func. Để truy cập giá trị bên ngoài func, sử dụng func [] để chạy func, sau đó sử dụng chức năng cú pháp_name. to access a variable outside of a function. In a function named func , use the syntax func. variable = value to store value in variable as an attribute of func . To access value outside of func , use func[] to run func , then use the syntax function_name.

Làm thế nào tôi có thể truy cập một giá trị biến của một hàm từ một hàm khác trong JavaScript?

hàm func1 [] {var num1 = 6;Console.log [Num1];} hàm func2 [] {var final = num1 + 5;Console.log [cuối cùng];} func2 []; log[num1]; } function func2[] { var final = num1 + 5; console. log[final]; } func2[];

Làm thế nào để bạn truy cập một biến bên trong một hàm?

Vì vậy, cách dễ nhất để làm cho biến của bạn có thể truy cập từ bên ngoài chức năng là khai báo trước tiên bên ngoài chức năng, sau đó sử dụng nó bên trong hàm ...
hàm một [] {var a;hàm hai [] {a = 10;trả lại a;} Trả về a;}.
var a;Phân tích cú pháp.làm việc gì đó[].....
var a;truy vấn..

Làm thế nào tìm biến là hàm javascript?

Sử dụng toán tử loại để kiểm tra xem hàm có được xác định không, ví dụ:typeOf myFunction === 'hàm'.Toán tử typeOf trả về một chuỗi cho biết loại giá trị.Nếu hàm không được xác định, toán tử typeof trả về "không xác định" và không gây ra lỗi., e.g. typeof myFunction === 'function' . The typeof operator returns a string that indicates the type of a value. If the function is not defined, the typeof operator returns "undefined" and doesn't throw an error.

Bài Viết Liên Quan

Chủ Đề