Hướng dẫn how do i pass data from one function to another in javascript? - làm cách nào để chuyển dữ liệu từ hàm này sang hàm khác trong javascript?

Tôi là người mới bắt đầu trong JavaScript và muốn hỏi những điều sau đây: Tôi có hai chức năng đơn giản và đã tự hỏi liệu có cách nào để truyền giá trị biến từ hàm này sang hàm khác không. Tôi biết tôi cũng có thể di chuyển nó bên ngoài chức năng được sử dụng trong các chức năng khác nhưng chỉ cần biết cách tôi có thể có một biến cục bộ và thao tác với nó trong chức năng thứ hai của tôi. Đây có phải là có thể, và như thế nào?

Đây là một số mã:

window.onload = function show[]{
    var x = 3;
}

function trig[]{
    alert[x];
}
trig[];

Câu hỏi là: Làm cách nào để truy cập biến

var globalVariable;
function function1[]
{
  globalVariable=12;
  function2[];
}

function function2[]
{
  var local = globalVariable;
}
9 [khai báo trong hàm
function passFromValue[]{
    var x = 15;
    return x;  
}
function passToValue[] {
    var y = passFromValue[];
    console.log[y];//15
}
passToValue[]; 
0] từ hàm thứ hai của tôi
function passFromValue[]{
    var x = 15;
    return x;  
}
function passToValue[] {
    var y = passFromValue[];
    console.log[y];//15
}
passToValue[]; 
1?

Chris

43.1K16 Huy hiệu vàng137 Huy hiệu bạc153 Huy hiệu đồng16 gold badges137 silver badges153 bronze badges

Đã hỏi ngày 14 tháng 5 năm 2012 lúc 8:20May 14, 2012 at 8:20

3

Cách đầu tiên là

function function1[]
{
  var variable1=12;
  function2[variable1];
}

function function2[val]
{
  var variableOfFunction1 = val;

// Sau đó, bạn sẽ phải sử dụng chức năng này cho biến1 để nó không thực sự giúp ích nhiều trừ khi đó là điều bạn muốn làm. }

Cách thứ hai là

var globalVariable;
function function1[]
{
  globalVariable=12;
  function2[];
}

function function2[]
{
  var local = globalVariable;
}

Đã trả lời ngày 14 tháng 5 năm 2012 lúc 8:22May 14, 2012 at 8:22

Pranay Ranapranay RanaPranay Rana

172K35 Huy hiệu vàng236 Huy hiệu bạc261 Huy hiệu Đồng35 gold badges236 silver badges261 bronze badges

2

Thêm vào danh sách của @Pranay-Rana:

Cách thứ ba là:

function passFromValue[]{
    var x = 15;
    return x;  
}
function passToValue[] {
    var y = passFromValue[];
    console.log[y];//15
}
passToValue[]; 

Đã trả lời ngày 9 tháng 2 năm 2018 lúc 23:57Feb 9, 2018 at 23:57

Asim Maharaim MaharAsim Mahar

1.2201 Huy hiệu vàng10 Huy hiệu bạc13 Huy hiệu đồng1 gold badge10 silver badges13 bronze badges

1

Bạn có thể rất dễ dàng sử dụng điều này để sử dụng lại giá trị của biến trong một hàm khác.

// Use this in source
window.var1=  oEvent.getSource[].getBindingContext[];

// Get value of var1 in destination
var var2=  window.var1;

Hassaan

6.8785 huy hiệu vàng29 Huy hiệu bạc48 Huy hiệu đồng5 gold badges29 silver badges48 bronze badges

Đã trả lời ngày 1 tháng 2 năm 2016 lúc 9:36Feb 1, 2016 at 9:36

Ankit Jainankit JainAnkit Jain

2.2001 Huy hiệu vàng17 Huy hiệu bạc25 Huy hiệu đồng1 gold badge17 silver badges25 bronze badges

Làm thế nào để bạn trả lại và truyền dữ liệu từ hàm này sang hàm khác trong JavaScript?

Nếu giá trị trả về của hàm chỉ được sử dụng làm tham số đầu vào của hàm khác, bạn có thể chuyển giá trị trả về trực tiếp đến tham số hàm. Điều này được thực hiện bằng cách đặt cuộc gọi chức năng vào danh sách tham số của cuộc gọi chức năng khác, giống như bạn sẽ biến.

Chúng ta có thể chuyển một hàm cho một chức năng khác trong JavaScript không?

Các chức năng trong mô hình lập trình chức năng có thể được chuyển cho các chức năng khác dưới dạng tham số. Các chức năng này được gọi là gọi lại. Các hàm gọi lại có thể được truyền dưới dạng đối số bằng cách truyền trực tiếp tên của hàm và không liên quan đến chúng.

Các phương pháp truyền dữ liệu vào hàm là gì?Một tham số là tên biểu tượng cho "dữ liệu" đi vào một hàm. Có hai cách để vượt qua các tham số trong C: Truyền theo giá trị, vượt qua tham chiếu.

Cảnh báo: Đây là một bài viết cũ và có thể bao gồm thông tin mà đã lỗi thời. ⚠

1
2
3
4
Việc truyền dữ liệu khá quan trọng trong các ngôn ngữ lập trình chức năng như JavaScript. Khi có nhiều chức năng [hầu hết thời gian], cần phải có một cách để truyền dữ liệu giữa các chức năng. Điều này được thực hiện bằng cách truyền các giá trị trong ngoặc đơn: myfeft [MyData]. Ngay cả khi không có dữ liệu được truyền, chúng tôi vẫn phải khai báo và thực thi các chức năng bằng cách sử dụng dấu ngoặc đơn: myfunction [].

Đơn giản đi qua

1
2
3
4
Tôi đã đề cập đến phương pháp phổ biến để truyền dữ liệu. Ở đây, một ví dụ về mã trong hành động:

1
2
3
4
5

1
2
3
4
function greeting[name] {
  alert["Hello " + name];
}
var personsName = "Joe";
greeting[personsName]; // Hello Joe

Ví dụ này chỉ truyền một biến cho hàm. Lưu ý rằng chúng ta có thể loại bỏ các biến người khác và tạo chuỗi một cách nhanh chóng. Vì vậy, mã trên tương đương với điều này:

________số 8

Được. Bây giờ, hãy để giả sử chúng ta có một chức năng chấp nhận hai biến:

1
2
3
4
function function1[]
{
  var variable1=12;
  function2[variable1];
}

function function2[val]
{
  var variableOfFunction1 = val;
0

Điều này không trông quá khó. Nhưng có một điều bắt được - người viết mã phải nhớ thứ tự của các biến để truyền vào. Giả sử họ gọi hàm như thế này:

Điều gì xảy ra nếu chúng ta thử kịch bản trường hợp khác: Truyền trong nhiều biến hơn hàm mong đợi? Không có lỗi nữa:

1
2
3
4
function function1[]
{
  var variable1=12;
  function2[variable1];
}

function function2[val]
{
  var variableOfFunction1 = val;
6

Và điều gì xảy ra nếu chúng ta cố gắng khai báo một chức năng có cùng tên? Không có lỗi, nhưng chức năng trước đó bị ghi đè [tất nhiên là điều này thường được tránh]:

function function1[]
{
  var variable1=12;
  function2[variable1];
}

function function2[val]
{
  var variableOfFunction1 = val;
7
function function1[]
{
  var variable1=12;
  function2[variable1];
}

function function2[val]
{
  var variableOfFunction1 = val;
8

Bởi vì JavaScript không có quá tải chức năng, tất cả những gì cần thiết để ghi đè lên một chức năng khác là tái lập một hàm có cùng tên. Nó không quan trọng những loại tranh luận mà họ chấp nhận.

Vượt qua với sự trợ giúp của đối tượng đối số

Hóa ra, JavaScript có một đối tượng đối số tiện dụng để truy cập các đối số được truyền vào mỗi hàm:

1
2
3
4
function function1[]
{
  var variable1=12;
  function2[variable1];
}

function function2[val]
{
  var variableOfFunction1 = val;
6

Và điều gì xảy ra nếu chúng ta cố gắng khai báo một chức năng có cùng tên? Không có lỗi, nhưng chức năng trước đó bị ghi đè [tất nhiên là điều này thường được tránh]:

function function1[]
{
  var variable1=12;
  function2[variable1];
}

function function2[val]
{
  var variableOfFunction1 = val;
7
function function1[]
{
  var variable1=12;
  function2[variable1];
}

function function2[val]
{
  var variableOfFunction1 = val;
8

Bởi vì JavaScript không có quá tải chức năng, tất cả những gì cần thiết để ghi đè lên một chức năng khác là tái lập một hàm có cùng tên. Nó không quan trọng những loại tranh luận mà họ chấp nhận.

Vượt qua với sự trợ giúp của đối tượng đối số

function function1[]
{
  var variable1=12;
  function2[variable1];
}

function function2[val]
{
  var variableOfFunction1 = val;
7
function function1[]
{
  var variable1=12;
  function2[variable1];
}

function function2[val]
{
  var variableOfFunction1 = val;
8

Bởi vì JavaScript không có quá tải chức năng, tất cả những gì cần thiết để ghi đè lên một chức năng khác là tái lập một hàm có cùng tên. Nó không quan trọng những loại tranh luận mà họ chấp nhận.

Vượt qua với sự trợ giúp của đối tượng đối số

Hóa ra, JavaScript có một đối tượng đối số tiện dụng để truy cập các đối số được truyền vào mỗi hàm:
var globalVariable;
function function1[]
{
  globalVariable=12;
  function2[];
}

function function2[]
{
  var local = globalVariable;
}
0

Trong trường hợp trên, đối tượng đối số hoạt động giống như một mảng - nó có chỉ số 0 và có thể được sử dụng để truy cập vào bất kỳ số lượng đối số tùy ý nào. Nhưng các đối số cũng có một thuộc tính thú vị và hữu ích: chiều dài. Sử dụng các đối số.length, chúng ta có thể đi qua mảng các đối số. Điều này rất tiện lợi trong trường hợp chúng ta có thể muốn thêm một số lượng các yếu tố tùy ý với nhau:

function function1[]
{
  var variable1=12;
  function2[variable1];
}

function function2[val]
{
  var variableOfFunction1 = val;
7
function function1[]
{
  var variable1=12;
  function2[variable1];
}

function function2[val]
{
  var variableOfFunction1 = val;
8

Bởi vì JavaScript không có quá tải chức năng, tất cả những gì cần thiết để ghi đè lên một chức năng khác là tái lập một hàm có cùng tên. Nó không quan trọng những loại tranh luận mà họ chấp nhận.

Vượt qua với sự trợ giúp của đối tượng đối số

Hóa ra, JavaScript có một đối tượng đối số tiện dụng để truy cập các đối số được truyền vào mỗi hàm:

Làm thế nào để bạn trả lại và truyền dữ liệu từ hàm này sang hàm khác trong JavaScript?

Nếu giá trị trả về của hàm chỉ được sử dụng làm tham số đầu vào của hàm khác, bạn có thể chuyển giá trị trả về trực tiếp đến tham số hàm.Điều này được thực hiện bằng cách đặt cuộc gọi chức năng vào danh sách tham số của cuộc gọi chức năng khác, giống như bạn sẽ biến.putting the function call in the parameters list of the other function call, just like you would a variable.

Chúng ta có thể chuyển một hàm cho một chức năng khác trong JavaScript không?

Các chức năng trong mô hình lập trình chức năng có thể được chuyển cho các chức năng khác dưới dạng tham số.Các chức năng này được gọi là gọi lại.Các hàm gọi lại có thể được truyền dưới dạng đối số bằng cách truyền trực tiếp tên của hàm và không liên quan đến chúng.. These functions are called callbacks. Callback functions can be passed as arguments by directly passing the function's name and not involving them.

Các phương pháp truyền dữ liệu vào hàm là gì?

Một tham số là tên biểu tượng cho "dữ liệu" đi vào một hàm.Có hai cách để vượt qua các tham số trong C: Truyền theo giá trị, vượt qua tham chiếu.Pass by Value, Pass by Reference.

Bài Viết Liên Quan

Chủ Đề