我在外部java脚本文件中编写了一个名为test function的函数。 在文档就绪函数中,我编写了一个函数,它不能从另一个html页面中声明的另一个java脚本访问,并从外部文档就绪函数调用,如果我在文档外面声明了函数测试函数,那么它的工作正常。
答案 0 :(得分:0)
这里有几点需要注意:
\ 1函数名称是将函数指定为其值的变量。所以,以下两件事实际上是一样的:
function my_func = function () {
alert('Hello World!');
};
var my_func = function () {
alert('Hello World!');
};
\ 2 javascript中的变量作用域:在闭包内声明的变量只对该闭包可见。但是,闭包可以访问在更高范围内声明的变量。因此,以下内容不起作用:
var my_func = function () {
var my_second_func = function () { alert ('hello');};
};
my_func();
my_second_func(); // not declared
但以下方法可行:
var my_second_func; // declare the variable in the global scope
var my_func = function () {
my_second_func = function () { alert ('hello');};
};
my_func();
my_second_func(); // will alert "hello"
请注意var
个关键字的位置。这些在当前范围内声明了一个变量。如果您想完全确定该函数在全局范围内可用,请以这种方式声明:
window.my_function = function () {
// do something
};
但是,这通常被认为是不好的做法,应该谨慎使用 。