2011-04-13 80 views
3

如何在聲明的函數外部使用變量?jquery - 在函數外部使用變量

$(function() { 
    function init() { 
     var bwr_w = $(window).width(); 
    } 
    init(); 
    $('#button').click(function() { 
     alert('The Browser Height is' + bwr_w); 
    }); 
}); 

如果我按一下按鈕我得到這個錯誤:

bwr_w沒有定義

回答

12

只是聲明變量構造的背景:

$(function() { 
    var bwr_w = null; 

    function init() { 
     bwr_w = $(window).width(); 
    } 

    init(); 

    $('#button').click(function() { 
     alert('The Browser Height is' + bwr_w); 
    }); 
}); 
+0

真棒!這對我行得通。 – GaLaBoOnZ 2016-02-08 04:19:39

1

如果你在函數外部聲明變量,然後給它賦值裏面的的函數,它的s應該可以在別處訪問。只要你確定價值將被分配。如果你不知道,你可能要指定一個默認值:

$(function() { 

     var bwr_w; // or 'var bwr_w = default_value;' 

    function init() { 
     bwr_w = $(window).width(); 
    } 
    init(); 
    $('#button').click(function() { 
     alert('The Browser Height is' + bwr_w); 
    }); 
}); 
5

試試這個

$(function() { 
    var bwr_w = 0; 
    function init() { 
    bwr_w = $(window).width(); 
    } 
    init(); 
    $('#button').click(function() { 
    alert('The Browser Height is' + bwr_w); 
    }); 
});