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
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
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
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 AdlerChẳ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
- 3,8544 Huy hiệu vàng30 Huy hiệu bạc43 Huy hiệu đồng
- 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 [].
- Vì vậy, những gì đang xảy ra là
- 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
1Sau đó, 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. 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::
function one[]{
var a;
function two[]{
a = 10;
return a;
}
return two[];
}
function one[]{
var a;
function two[]{
a = 100;
console.log["Inner function"]
return a;
}
return two[];
}
var res = one[];
console.log[res]
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
0Hã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
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.