Hướng dẫn javascript variable undefined outside function - biến javascript không xác định bên ngoài hàm

Tôi có một phần tập lệnh trong tệp HTML của mình trong đó tôi tạo một thể hiện mới của đối tượng


1 của mình. Bên ngoài hàm

2 Biến

3 không được xác định mặc dù tôi đã khai báo nó bên ngoài hàm.

var gMap;
function initMap() {
    gMap = new gmap({
        //some Properties
    });
    console.log(gMap); //gMap is defined
}
console.log(gMap); //gMap is undefined

Hàm được gọi như thế này:


Tôi cũng đã thử gọi nó thông qua


4 thay vì gọi lại API của Google nhưng nó không thay đổi gì.

Hỏi ngày 15 tháng 12 năm 2016 lúc 14:46Dec 15, 2016 at 14:46

Hướng dẫn javascript variable undefined outside function - biến javascript không xác định bên ngoài hàm

2

Tôi nghĩ rằng bạn sẽ thấy đó là vì bạn chưa gọi là chức năng. Bạn cần gọi chức năng trước khi đăng nhập nó để gán giá trị.

EG:

var gMap;
function initMap() {
    gMap = new gmap({
        //some Properties
    });
    console.log(gMap); //gMap is defined
}
console.log(gMap); //gMap is undefined
initMap();
console.log(gMap); //gMap is defined

Hy vọng điều đó sẽ giúp!

Đã trả lời ngày 15 tháng 12 năm 2016 lúc 14:53Dec 15, 2016 at 14:53

Hướng dẫn javascript variable undefined outside function - biến javascript không xác định bên ngoài hàm

Bạn không được xác định vì


3 tồn tại nhưng nó không gán với bất kỳ giá trị nào khi bạn gọi nó với

6 lần đầu tiên, bên ngoài hàm. Cho đến khi bạn gọi

2 - chỉ sau đó

3 sẽ được gán với một giá trị (hoặc thuộc tính trong trường hợp của bạn). Nếu bạn không muốn không được xác định trước khi gọi chức năng của mình, bạn sẽ cần gán cho nó một số giá trị trên phạm vi 'Hàm bên ngoài',

Chẳng hạn như ví dụ đơn giản này:

var gMap = 'im not undefined';
function initMap() {
    gMap = 'im still not undefined';
    console.log(gMap); //gMap is defined
}
console.log(gMap);
initMap();
console.log(gMap);

Sẽ tạo ra đầu ra sau:

"im not undefined" //outside call
"im still not undefined" //inside function call
"im still not undefined" //second outside call 

Đã trả lời ngày 15 tháng 12 năm 2016 lúc 14:53Dec 15, 2016 at 14:53

Hướng dẫn javascript variable undefined outside function - biến javascript không xác định bên ngoài hàm

Bạn không được xác định vì


3 tồn tại nhưng nó không gán với bất kỳ giá trị nào khi bạn gọi nó với

6 lần đầu tiên, bên ngoài hàm. Cho đến khi bạn gọi

2 - chỉ sau đó

3 sẽ được gán với một giá trị (hoặc thuộc tính trong trường hợp của bạn). Nếu bạn không muốn không được xác định trước khi gọi chức năng của mình, bạn sẽ cần gán cho nó một số giá trị trên phạm vi 'Hàm bên ngoài',Alon Adler

Chẳng hạn như ví dụ đơn giản này:4 gold badges30 silver badges43 bronze badges

Sẽ tạo ra đầu ra sau:

Alon Adleralon Adler

  1. 3,8544 Huy hiệu vàng30 Huy hiệu bạc43 Huy hiệu đồng
  2. Bạn đúng, cuộc gọi Google lại đang chạy theo bảng điều khiển của bạn.log ().
  3. Vì vậy, những gì đang xảy ra là
  4. Bạn khai báo
    
    
    3 var.

Sau đó, bạn tạo chức năng

var gMap;
function initMap() {
    gMap = new gmap({
        //some Properties
    });
    console.log(gMap); //gMap is defined
}
console.log(gMap); //gMap is undefined
initMap();
console.log(gMap); //gMap is defined
0 của mình

$(document).ready(function(){
var gMap;
function initMap() {
    gMap = new gmap({
        //some Properties
    });
    console.log(gMap); //gMap is defined
}
console.log(gMap); //gMap is undefined
}

Sau đó, bạn xuất ra


1

Sau đó, Google đang gọi chức năng gọi lại của bạn. Do đó, khi bạn xuất ra


1 bên ngoài chức năng của bạn, nó không được xác định

$(document).ready(function(){
   var gMap = new gmap({});
   console.log(gMap); //gMap is defined

nếu bạn làm điều này

Bạn vẫn sẽ không được xác định, bởi vì không có gì gọi

var gMap;
function initMap() {
    gMap = new gmap({
        //some Properties
    });
    console.log(gMap); //gMap is defined
}
console.log(gMap); //gMap is undefined
initMap();
console.log(gMap); //gMap is defined
3 trước khi bạn đăng nhập

1. Bạn cần phải

3 vào một cái gì đó trước khi bạn thử và đăng nhập nóDec 15, 2016 at 14:51

gh9gh9gh9

Mã dưới đây sẽ tải GMAP đúng cách, mà không biết những gì bạn đang sử dụng cho tôi khó khăn để cung cấp cho bạn mã làm việc để làm những gì bạn cần.9 gold badges62 silver badges94 bronze badges

1

Để truy cập một biến bên ngoài một chức năng trong JavaScript, có thể truy cập biến của bạn từ bên ngoài chức năng. Đầu tiên, khai báo nó bên ngoài chức năng, sau đó sử dụng nó bên trong hàm.

function one(){
   var a;
   function two(){
       a = 10;
       return a;
   }
   return two();
}

Bạn có thể truy cập các biến được khai báo bên trong một hàm từ bên ngoài một hàm. Biến chỉ thuộc về phạm vi chức năng, không phải là phạm vi toàn cầu.

Ví dụ đơn giản Truy cập biến Biến phạm vi chức năng bên ngoài.




    



Đầu ra::

Hướng dẫn javascript variable undefined outside function - biến javascript không xác định bên ngoài hàm

Một cách khác là không đặt ra Var Var ,, Let Let hay hoặc Const Const sẽ làm cho biến đổi công khai và có thể sử dụng bên ngoài một chức năng.

function Play(){
  	Video = 12 // Seconds
	var Length = 15
}
console.log(Video) // Prints 12
console.log(Length) // "Lenght" is undefined

Thay đổi một biến bên ngoài hàm js


0

Hãy bình luận nếu bạn có bất kỳ nghi ngờ hoặc đề xuất nào về chủ đề biến JS này.

Lưu ý: & nbsp; The & nbsp; tất cả các ví dụ JS & nbsp; is & nbsp; được kiểm tra trên trình duyệt firefox và trình duyệt Chrome. The All JS Examples codes are tested on the Firefox browser and the Chrome browser.

Hệ điều hành: & nbsp; windows 10Windows 10

Mã: Phiên bản HTML 5

Hướng dẫn javascript variable undefined outside function - biến javascript không xác định bên ngoài hàm

Bằng cấp về Khoa học máy tính và Kỹ sư: Nhà phát triển ứng dụng và có nhiều ngôn ngữ lập trình kinh nghiệm. Sự nhiệt tình cho công nghệ và thích học kỹ thuật.

Tôi có thể khai báo biến bên ngoài hàm javascript không?

Các biến được khai báo trên toàn cầu (bên ngoài bất kỳ chức năng nào) có phạm vi toàn cầu.Các biến toàn cầu có thể được truy cập từ bất cứ đâu trong chương trình JavaScript.Các biến được khai báo với VAR, LET và Const khá giống nhau khi được khai báo bên ngoài một khối.. Global variables can be accessed from anywhere in a JavaScript program. Variables declared with var , let and const are quite similar when declared outside a block.

Tại sao biến JavaScript của tôi không được xác định?

Một biến chưa được gán một giá trị là loại không xác định.Một phương thức hoặc câu lệnh cũng trả về không xác định nếu biến đang được đánh giá không có giá trị được gán.Một hàm trả về không xác định nếu một giá trị không được trả về. is of type undefined . A method or statement also returns undefined if the variable that is being evaluated does not have an assigned value. A function returns undefined if a value was not returned .

Bạn có thể đặt một biến thành không xác định trong JavaScript không?

JavaScript có toán tử xóa có thể được sử dụng để xóa một thành viên của một đối tượng.Tùy thuộc vào phạm vi của một biến (nghĩa là nếu nó toàn cầu hay không), bạn có thể xóa nó để làm cho nó không xác định.Không có từ khóa không xác định mà bạn có thể sử dụng như một nghĩa đen không xác định.you can delete it to make it undefined. There is no undefined keyword that you can use as an undefined literal.