[英]javascript var statement per scope
每個作用域看起來很多var是浪費字節和不良的代碼習慣。 我不知道如何解決我的代碼。 我應該如何根據JS良好做法來編輯以下幾行?
<script type="text/javascript">
// <![CDATA[
var jump_page = '{LA_JUMP_PAGE}:';
var on_page = '{ON_PAGE}';
var per_page = '{PER_PAGE}';
var base_url = '{A_BASE_URL}';
var style_cookie = 'style';
var style_cookie_settings = '{A_COOKIE_SETTINGS}';
var onload_functions = new Array();
var onunload_functions = new Array();
/**
* Find a member
*/
function find_username(url)
{
popup(url, 760, 570, '_usersearch');
return false;
}
/**
* New function for handling multiple calls to window.onload and window.unload by pentapenguin
*/
window.onload = function()
{
for (var i = 0; i < onload_functions.length; i++)
{
eval(onload_functions[i]);
}
};
window.onunload = function()
{
for (var i = 0; i < onunload_functions.length; i++)
{
eval(onunload_functions[i]);
}
};
// ]]>
</script>
我總是建議將變量的作用域范圍僅限於需要它們的范圍。 使用全局變量是一個常見的錯誤源,因為您可能會發生沖突。
我有時會將代碼包裝在JavaScript閉包中,以避免將變量添加到全局范圍,因為全局范圍內的變量永遠不會符合垃圾回收的條件。
如果您希望避免污染全局window
范圍,則可以將整個過程包裝如下:
(function() {
"use strict";
var onunload_functions = [];
window.onunload = function()
{
for (var i = 0; i < onunload_functions.length; i++)
{
eval(onunload_functions[i]);
}
};
}());
此關閉將防止將隨機var
變量添加到窗口/全局范圍。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.