在另一个函数中使用变量,然后调用新函数

Use variable in another function then call the new function

本文关键字:函数 新函数 调用 然后 变量 另一个      更新时间:2023-09-26

在这里,我尝试在函数New()中使用变量,该变量是在函数Test()中创建的。

我仍然对如何使用全局变量感到有些困惑。

function New(){
Test();
//this show nothing  
alert(myName);
}
function Test() {
    myName = "John";
}
New();

即使我执行"var myName;",这些功能也不起作用。

仍在搜索

检查这个小提琴

要更改的内容:

1) 使用function New(){}代替function New{}

2)从测试函数返回myName并将其存储在新函数的新变量中

function New(){
var myName= Test();
//this show nothing  
alert(myName);
}
function Test() {
   var myName = "John";
    return myName
}   
New();

更新:是的,您也可以将myName定义为全局变量并使用它

如果要声明要使用的变量,请使用 var 关键字。执行此操作时,执行此操作的位置决定了变量的"范围"。如果要在两个函数中使用该变量,只需在两个函数之外声明变量:

 var myVariable = "Something";
 function1(){  
    myVariable = "something else";
 }
 function2(){  
    myVariable = "something else again";
 }

共享数据的另一种方法是将该数据作为参数传递到函数中:

 function1(){  
    var myVariable = "Something";
    function2(myVariable);
 }
 function2(someName){  
    alert(someName); // "Something"
 }

在您的情况下,您没有使用 "var" 关键字来声明您的变量,因此它变成了全局变量,但您的代码中有拼写错误,因此它没有运行。

这只是一个小的类型错误。只需在"新建"后添加大括号

var myName;    // have myName global ie, outside all functions
function New(){      // needs the braces() for New to be a function
    Test(); 
    alert(myName);
}
function Test() {
    myName = "John";
}

New();

全局声明myName,然后在函数返回Test()定义myName。声明函数时,无论如何都要始终使用关键字"function"、"()"和"{}"。

var myName;
function New() {
  
alert(Test());
}
function Test() {
   myName = "John";
   return myName;
}
New(Test);

全局变量是其作用域针对特定类而不限于函数的东西。

您可以在类内创建变量 myName,但在函数外部创建变量,并在类内的任何地方使用它。

var myName="";
function New{
Test();
//this show nothing  
alert(myName);
}
function Test() {
    myName = "John";
}

New();