Nếu bạn thực sự muốn nó được toàn cầu, bạn có hai lựa chọn:
Khai nó trên toàn cầu và sau đó rời khỏi var
tắt trong hàm:
var selected;
function showMe(pause_btn) {
selected = [];
for (var i = 0; i < chboxs.length; i++) {
if (chboxs[i].checked) {
selected.push(chboxs[i].value);
}
}
}
Gán đến một tài sản window
function showMe(pause_btn) {
window.selected = [];
for (var i = 0; i < chboxs.length; i++) {
if (chboxs[i].checked) {
selected.push(chboxs[i].value); // Don't need `window.` here, could use it for clarity though
}
}
}
Một thuộc tính của window
là các biến toàn cục (bạn có thể truy cập chúng có hoặc không có window.
trước mặt chúng).
Nhưng, tôi sẽ tránh làm cho nó toàn cầu. Hoặc có showMe
trở thông tin:
function showMe(pause_btn) {
var selected = [];
for (var i = 0; i < chboxs.length; i++) {
if (chboxs[i].checked) {
selected.push(chboxs[i].value);
}
}
return selected;
}
... và sau đó khi bạn cần nó:
var selected = showMe();
... hoặc khai báo nó trong phạm vi chứa showMe
, nhưng không toàn cầu . Không có ngữ cảnh, trông giống như # 1 ở trên; đây là một chút bối cảnh:
(function() {
var selected;
function showMe(pause_btn) {
selected = [];
for (var i = 0; i < chboxs.length; i++) {
if (chboxs[i].checked) {
selected.push(chboxs[i].value);
}
}
return selected;
}
// ...other stuff that needs `selected` goes here...
})();
Các chức năng ẩn danh bên ngoài là một "chức năng Phạm vi" có nghĩa là selected
không phải là toàn cầu, nó chỉ chung cho bất cứ điều gì trong chức năng đó.
Nguồn
2015-04-18 08:07:22
"các biến toàn cục của stackoverflow javascript" -> http://stackoverflow.com/questions/4862193/javascript-global-variables – royhowie
bản sao có thể có của [Xác định biến toàn cục trong hàm JavaScript] (http://stackoverflow.com/ question/5786851/define-global-variable-in-a-javascript-function) – royhowie
@rowhowie Tôi đã chỉnh sửa cửa sổ câu hỏi của mình.yourGlobalVariable không giải quyết được sự cố của tôi. –