我在我的脚本中调用Typeahead之前加载了引导程序Typeahead插件,但Typeofhead类型返回undefined,即使它已被绝对加载。
Javascript文件行2650:
!function($){"use strict";var Typeahead=function(element,options) // ... rest of plugin
Javascript文件行2765:
alert(typeof Typeahead);
警告未定义
为什么会出现这种情况?
答案 0 :(得分:0)
您并没有真正向我们展示足够的代码。但是,如果:
alert(typeof Typeahead);
位于出现var Typeahead = function() {...}
的功能块之外,那么您不在定义该变量(以及函数)的范围内,因此该变量将为undefined
。变量仅在定义它们的范围内可见。
如果您希望var Typeahead
在该功能块之外可用,则必须在更高的范围内声明它。
举个例子:
function foo() {
// define local variable only visible within function foo
var greeting = "Hi";
}
console.log(typeof greeting); // will show "undefined"
// define higher scope variable visible in foo and outside of foo
var greeting = "Hi";
function foo() {
console.log(greeting); // will show "Hi"
}
console.log(greeting); // will show "Hi"