Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从其他函数调用函数?_Javascript_Function - Fatal编程技术网

Javascript 如何从其他函数调用函数?

Javascript 如何从其他函数调用函数?,javascript,function,Javascript,Function,我有下面的代码,我有问题。我正在尝试调用在函数()中创建的函数 HTML 我已尝试在函数()中创建时间函数,但控制台显示未声明时间(),是否有任何错误?函数的作用域是函数()。您需要在该范围之外使用它,以便time函数可以访问它 因此,请更改您的javascript: var schedText = document.getElementById("schedtxt").value; function time(schedText) { alert("You have ent

我有下面的代码,我有问题。我正在尝试调用在函数()中创建的函数

HTML


我已尝试在函数()中创建时间函数,但控制台显示未声明时间(),是否有任何错误?

函数的作用域是
函数()
。您需要在该范围之外使用它,以便
time
函数可以访问它

因此,请更改您的javascript:

var schedText = document.getElementById("schedtxt").value;

function time(schedText) {
        alert("You have entered "+ schedText.value + " seconds");
        UpdateUser(schedText.value);
}


function UpdateUser(stuff) {
        //some stuff
    })

(function(){
//lotsa var here

    }
)

您可以在该范围之外实例化一个变量,并将函数属性化为该变量。可能是这样的:

var schedText=document.getElementById(“schedtxt”).value;
//实例化范围外的变量
var更新器;
功能时间(schedText){
警报(“您已输入”+schedText.value+“秒”);
UpdateUser(schedText.value);
}
(功能(){
//这里是洛萨瓦
UpdateUser=函数(stuff){
//一些东西
};
});

这是一个局部变量。它不存在于其函数之外。您可以将其绑定到全局或窗口对象,这是因为当您在
(function(){})
内部创建
时间时,它会成为该作用域的本地对象,并且无法从全局作用域访问(它是在内联处理程序中搜索函数的位置),是否还有其他方法?我喜欢所有的东西都放在(function(){})里面,包括时间函数。这只是一个范围问题。如果您希望所有内容都在该功能范围内,请在同一范围内定义
时间。做一些关于“javascript范围”的研究以获得更多信息。谢谢,当然需要阅读更多关于这方面的内容。不管怎样,超出主题为什么
函数myfunc(){}
(函数(){})
不同?括号表示什么?
var schedText = document.getElementById("schedtxt").value;

function time(schedText) {
        alert("You have entered "+ schedText.value + " seconds");
        UpdateUser(schedText.value);
}

(function(){
//lotsa var here
    function UpdateUser(stuff) {
        //some stuff
    });
    }
}
var schedText = document.getElementById("schedtxt").value;

function time(schedText) {
        alert("You have entered "+ schedText.value + " seconds");
        UpdateUser(schedText.value);
}


function UpdateUser(stuff) {
        //some stuff
    })

(function(){
//lotsa var here

    }
)