我有一个下面的代码,当我尝试运行时,我调用该函数时得到错误.我不知道他发生了什么?帮助PLZ ...
jQuery(document).ready(function($) {
//load config file
$.getScript(baseURl+"/wsj/wconf.js", function(data, textStatus, jqxhr) {
console.log(data); // it is ok
jq(); // Uncaught TypeError: undefined is not a function
//_cusApp.ini(); //Uncaught TypeError: Cannot call method 'ini' of undefined
var _cusApp = {
ini: function (inc) {
console.log('ini');
},
};
var jq = function ( ){
$(document).height(); // jquery not availble here
}
});
});
Run Code Online (Sandbox Code Playgroud)
它是关于jq()在声明之前调用函数.
jq 是未定义的,因为它还没有被宣布......!
如果声明命名函数而不是匿名函数,则整个代码将起作用.
由于匿名函数是在运行时创建的,因此在执行赋值之前它不可用.
相反,由于命名函数是在解析时声明的,因此即使在调用它之后声明它也可用于代码.
myFunction(); // Wrong, it's undefined!
var myFunction = function() {};
myFunction(); // OK, now is declared and it can be invoked
Run Code Online (Sandbox Code Playgroud)
myFunction(); // As the function has been already parsed, it is available!
function myFunction() {};
myFunction(); // OK!
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2924 次 |
| 最近记录: |