Вы действительно недостаточно показываете нам код. Но, если:
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"
, потому что 'Typeahead' является частной переменной в другой функции ... – dandavis