所以我有一个对象或数组,在任何东西的开头声明,在所有东西之外:
var Thing = {title:'horse'};
然后我得到了: -
$('.clickedIt').fadeOut(200, function() { console.log(Thing.title); }
那会失败。但是,如果我将相同的控制台日志放在fadeOut上面,那就没问题了。
答案 0 :(得分:4)
如果您想要某些东西是全局的,只需在window
对象上定义它。
window.Thing = { title: 'horse '};
然后像这样使用它:
$( '.clickedIt' ).fadeOut(200, function() {
console.log( window.Thing.title );
});
请注意,不建议在window
对象上放置一些变量,我建议查看名称间距:http://addyosmani.com/blog/essential-js-namespacing/
以下是一个例子:
//simple JavaScript module
( function( window ) {
//define your applications root namespace
window.myApp = {
Thing: { title: 'horse '}
};
})( window );
//jQuery ready function
$( function() {
$( '.clickedIt' ).fadeOut( 200, function() {
console.log( myApp.Thing.title );
});
});
答案 1 :(得分:1)
你赋予title马的值是未定义的,用引号括起来使它成为字符串litral,
<强> Live Demo 强>
var Thing = {title:'horse'};
$('.clickedIt').fadeOut(200, function() { console.log(Thing.title); })