だから私は、すべての外で、何かの最初に宣言されたオブジェクトまたは配列を持っています:
var Thing = {title:'horse'};
それから私は持っています:-
$('.clickedIt').fadeOut(200, function() { console.log(Thing.title); }
それは失敗します。ただし、同じコンソールのログアウトをfadeOutの上に配置すると、問題ありません。
だから私は、すべての外で、何かの最初に宣言されたオブジェクトまたは配列を持っています:
var Thing = {title:'horse'};
それから私は持っています:-
$('.clickedIt').fadeOut(200, function() { console.log(Thing.title); }
それは失敗します。ただし、同じコンソールのログアウトをfadeOutの上に配置すると、問題ありません。
何かをグローバルにしたい場合は、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 );
});
});
タイトルの馬に割り当てた値は未定義です。引用符で囲んで文字列を文字列にします。
var Thing = {title:'horse'};
$('.clickedIt').fadeOut(200, function() { console.log(Thing.title); })