创建 JS 函数以在任何地方使用?范围和功能的问题 "undefined"
Creating JS functions to use anywhere? Problems with scope and functions being "undefined"
所以我对 JS 还是很陌生,我最大的挫折之一是 SCOPE。
我读了很多指南,我知道什么时候可以,什么时候不能使用某些变量,但我一直不明白我的错误在哪里。
我想创建一堆我可以在我的文档中的任何地方使用的 JS 函数,但是,我经常遇到说函数未定义的错误...
我的情况:
我在<head>
中添加了一个外部脚本文件。在 script.js 里面我有一个函数叫做:launch_ajax.
launch_ajax = function(){
console.log("fire");
};
window.launch_ajax() = launch_ajax();
然后在我 body 的底部我有 launch_ajax();
但它给了我:
Uncaught ReferenceError: launch_ajax is not defined
请不要骂我笨... =(
在您的代码中:
launch_ajax = function(){
console.log("fire");
};
这将创建一个名为 launch_ajax 的全局变量,并为其分配右侧的函数。
window.launch_ajax() = launch_ajax();
这是一个函数调用,紧接着是一个赋值,并将 "fire" 写入控制台,然后抛出有关无效赋值的错误。脚本执行应该到此为止。
如果你实际拥有的是:
window.launch_ajax = launch_ajax();
那么你就是将调用launch_ajax的结果分配给window.launch_ajax。由于函数没有 return 语句,它 returns undefined 所以 window.launch_ajax 的值是现在未定义。如果您稍后尝试调用它,您将收到有关 launch_ajax 不是函数的错误消息。
所以我对 JS 还是很陌生,我最大的挫折之一是 SCOPE。 我读了很多指南,我知道什么时候可以,什么时候不能使用某些变量,但我一直不明白我的错误在哪里。 我想创建一堆我可以在我的文档中的任何地方使用的 JS 函数,但是,我经常遇到说函数未定义的错误...
我的情况:
我在<head>
中添加了一个外部脚本文件。在 script.js 里面我有一个函数叫做:launch_ajax.
launch_ajax = function(){
console.log("fire");
};
window.launch_ajax() = launch_ajax();
然后在我 body 的底部我有 launch_ajax();
但它给了我:
Uncaught ReferenceError: launch_ajax is not defined
请不要骂我笨... =(
在您的代码中:
launch_ajax = function(){
console.log("fire");
};
这将创建一个名为 launch_ajax 的全局变量,并为其分配右侧的函数。
window.launch_ajax() = launch_ajax();
这是一个函数调用,紧接着是一个赋值,并将 "fire" 写入控制台,然后抛出有关无效赋值的错误。脚本执行应该到此为止。
如果你实际拥有的是:
window.launch_ajax = launch_ajax();
那么你就是将调用launch_ajax的结果分配给window.launch_ajax。由于函数没有 return 语句,它 returns undefined 所以 window.launch_ajax 的值是现在未定义。如果您稍后尝试调用它,您将收到有关 launch_ajax 不是函数的错误消息。