Hướng dẫn is undefined an object in javascript - không được xác định một đối tượng trong javascript

Đơn giản là bất cứ điều gì không được xác định trong JavaScript, không được xác định, không quan trọng nếu đó là một thuộc tính bên trong một đối tượng/mảng hay chỉ là một biến đơn giản ...undefined, doesn't matter if it's a property inside an Object/Array or as just a simple variable...

JavaScript có

var stackoverflow = {};
stackoverflow.javascipt = 'javascript';
var today;
var self = this;
var num = 8;
var list = [1, 2, 3, 4, 5];
var y = null;
3 giúp phát hiện biến không xác định.

Chỉ cần kiểm tra xem

var stackoverflow = {};
stackoverflow.javascipt = 'javascript';
var today;
var self = this;
var num = 8;
var list = [1, 2, 3, 4, 5];
var y = null;
4 và nó sẽ trả về Boolean.

Đó là cách chức năng nổi tiếng

var stackoverflow = {};
stackoverflow.javascipt = 'javascript';
var today;
var self = this;
var num = 8;
var list = [1, 2, 3, 4, 5];
var y = null;
5 trong angularjs v.1x được viết:

function isUndefined(value) {return typeof value === 'undefined';} 

Vì vậy, khi bạn thấy hàm nhận được một giá trị, nếu giá trị đó được xác định, nó sẽ trả về

var stackoverflow = {};
stackoverflow.javascipt = 'javascript';
var today;
var self = this;
var num = 8;
var list = [1, 2, 3, 4, 5];
var y = null;
6, nếu không đối với các giá trị không xác định, hãy trả về
var stackoverflow = {};
stackoverflow.javascipt = 'javascript';
var today;
var self = this;
var num = 8;
var list = [1, 2, 3, 4, 5];
var y = null;
7.

Vì vậy, chúng ta hãy xem những gì sẽ là kết quả khi chúng ta vượt qua các giá trị, bao gồm các thuộc tính đối tượng như bên dưới, đây là danh sách các biến chúng ta có:

var stackoverflow = {};
stackoverflow.javascipt = 'javascript';
var today;
var self = this;
var num = 8;
var list = [1, 2, 3, 4, 5];
var y = null;

Và chúng tôi kiểm tra chúng như dưới đây, bạn có thể thấy kết quả ở phía trước chúng như một nhận xét:

isUndefined(stackoverflow); //false
isUndefined(stackoverflow.javascipt); //false
isUndefined(today); //true
isUndefined(self); //false
isUndefined(num); //false
isUndefined(list); //false
isUndefined(y); //false
isUndefined(stackoverflow.java); //true
isUndefined(stackoverflow.php); //true
isUndefined(stackoverflow && stackoverflow.css); //true

Như bạn thấy, chúng tôi có thể kiểm tra bất cứ điều gì bằng cách sử dụng một cái gì đó như thế này trong mã của chúng tôi, như đã đề cập, bạn có thể chỉ cần sử dụng

var stackoverflow = {};
stackoverflow.javascipt = 'javascript';
var today;
var self = this;
var num = 8;
var list = [1, 2, 3, 4, 5];
var y = null;
3 trong mã của mình, nhưng nếu bạn đang sử dụng nó nhiều lần, hãy tạo một chức năng như mẫu góc mà tôi chia sẻ và tiếp tục sử dụng lại như sau mô hình mã khô.

Ngoài ra, một điều nữa, để kiểm tra thuộc tính trên một đối tượng trong một ứng dụng thực mà bạn không chắc chắn ngay cả đối tượng có tồn tại hay không, hãy kiểm tra xem đối tượng có tồn tại trước không.

Nếu bạn kiểm tra một thuộc tính trên một đối tượng và đối tượng không tồn tại, sẽ ném lỗi và dừng toàn bộ ứng dụng đang chạy.

isUndefined(x.css);
VM808:2 Uncaught ReferenceError: x is not defined(…)

Thật đơn giản, bạn có thể bọc bên trong một câu lệnh IF như dưới đây:

if(typeof x !== 'undefined') {
  //do something
}

Cũng bằng được xác định trong góc 1.x ...

function isDefined(value) {return typeof value !== 'undefined';}

Ngoài ra, các khung JavaScript khác như UnderCore có kiểm tra xác định tương tự, nhưng tôi khuyên bạn nên sử dụng

var stackoverflow = {};
stackoverflow.javascipt = 'javascript';
var today;
var self = this;
var num = 8;
var list = [1, 2, 3, 4, 5];
var y = null;
3 nếu bạn đã không sử dụng bất kỳ khung nào.

Tôi cũng thêm phần này từ MDN có thông tin hữu ích về typeof, không xác định và trống (0).

Bình đẳng nghiêm ngặt và không xác định Bạn có thể sử dụng các toán tử bất bình đẳng và bình đẳng nghiêm ngặt để xác định xem một biến có giá trị hay không. Trong mã sau, biến x không được xác định và câu lệnh IF đánh giá là true.
You can use undefined and the strict equality and inequality operators to determine whether a variable has a value. In the following code, the variable x is not defined, and the if statement evaluates to true.

var x;
if (x === undefined) {
   // these statements execute
}
else {
   // these statements do not execute
}

Lưu ý: Toán tử bình đẳng nghiêm ngặt chứ không phải là toán tử bình đẳng tiêu chuẩn phải được sử dụng ở đây, bởi vì x == không xác định cũng kiểm tra xem X có phải là null hay không, trong khi bình đẳng nghiêm ngặt không. Null không tương đương với không xác định. Xem các nhà khai thác so sánh để biết chi tiết.


Toán tử typeof và không xác định thay thế, typeOf có thể được sử dụng:
Alternatively, typeof can be used:

var x;
if (typeof x === 'undefined') {
   // these statements execute
}

Một lý do để sử dụng typeOf là nó không gây ra lỗi nếu biến chưa được khai báo.

// x has not been declared before
if (typeof x === 'undefined') { // evaluates to true without errors
   // these statements execute
}

if (x === undefined) { // throws a ReferenceError

}

Tuy nhiên, loại kỹ thuật này nên tránh. JavaScript là một ngôn ngữ có phạm vi tĩnh, vì vậy biết nếu một biến được khai báo có thể được đọc bằng cách xem liệu nó có được khai báo trong một bối cảnh kèm theo hay không. Ngoại lệ duy nhất là phạm vi toàn cầu, nhưng phạm vi toàn cầu bị ràng buộc với đối tượng toàn cầu, do đó, việc kiểm tra sự tồn tại của một biến trong bối cảnh toàn cầu có thể được thực hiện bằng cách kiểm tra sự tồn tại của một thuộc tính trên đối tượng toàn cầu (sử dụng toán tử trong toán tử, ví dụ).


Void Toán tử và không xác định

Toán tử void là một giải pháp thay thế thứ ba.

var x;
if (x === void 0) {
   // these statements execute
}

// y has not been declared before
if (y === void 0) {
   // throws a ReferenceError (in contrast to `typeof`)
}

Thêm> Ở đây


🏠 Quay trở lại trang chủ

Trong chương trình JavaScript, cách chính xác để kiểm tra xem thuộc tính đối tượng không được xác định là sử dụng toán tử `typeof`. Xem cách bạn có thể sử dụng nó với lời giải thích đơn giản này

Xuất bản ngày 26 tháng 5 năm 2018, Cập nhật lần cuối ngày 29 tháng 5 năm 2019, Last Updated May 29 2019

⭐️ NEW JAVASCRIPT COURSE launching in November! ⭐️

Trong chương trình JavaScript, cách chính xác để kiểm tra xem thuộc tính đối tượng không được xác định là sử dụng toán tử

var stackoverflow = {};
stackoverflow.javascipt = 'javascript';
var today;
var self = this;
var num = 8;
var list = [1, 2, 3, 4, 5];
var y = null;
3.

var stackoverflow = {};
stackoverflow.javascipt = 'javascript';
var today;
var self = this;
var num = 8;
var list = [1, 2, 3, 4, 5];
var y = null;
3 Trả về một chuỗi cho biết loại toán hạng. Nó được sử dụng mà không có dấu ngoặc đơn, chuyển nó bất kỳ giá trị nào bạn muốn kiểm tra:

var stackoverflow = {};
stackoverflow.javascipt = 'javascript';
var today;
var self = this;
var num = 8;
var list = [1, 2, 3, 4, 5];
var y = null;
0

Nếu giá trị không được xác định,

var stackoverflow = {};
stackoverflow.javascipt = 'javascript';
var today;
var self = this;
var num = 8;
var list = [1, 2, 3, 4, 5];
var y = null;
3 sẽ trả về chuỗi ‘không xác định.string.

Bây giờ giả sử bạn có một đối tượng

isUndefined(stackoverflow); //false
isUndefined(stackoverflow.javascipt); //false
isUndefined(today); //true
isUndefined(self); //false
isUndefined(num); //false
isUndefined(list); //false
isUndefined(y); //false
isUndefined(stackoverflow.java); //true
isUndefined(stackoverflow.php); //true
isUndefined(stackoverflow && stackoverflow.css); //true
3, chỉ với một thuộc tính:

var stackoverflow = {};
stackoverflow.javascipt = 'javascript';
var today;
var self = this;
var num = 8;
var list = [1, 2, 3, 4, 5];
var y = null;
1

Đây là cách bạn kiểm tra xem thuộc tính

isUndefined(stackoverflow); //false
isUndefined(stackoverflow.javascipt); //false
isUndefined(today); //true
isUndefined(self); //false
isUndefined(num); //false
isUndefined(list); //false
isUndefined(y); //false
isUndefined(stackoverflow.java); //true
isUndefined(stackoverflow.php); //true
isUndefined(stackoverflow && stackoverflow.css); //true
4 có được xác định trên đối tượng này không:

var stackoverflow = {};
stackoverflow.javascipt = 'javascript';
var today;
var self = this;
var num = 8;
var list = [1, 2, 3, 4, 5];
var y = null;
2

Là đối tượng không xác định?

Một biến hoặc một đối tượng có giá trị không xác định khi không có giá trị được gán trước khi sử dụng nó.Vì vậy, bạn có thể nói rằng không xác định có nghĩa là thiếu giá trị hoặc giá trị chưa biết.Không xác định là một mã thông báo.Loại không xác định sẽ trả về không xác định không phải là một đối tượng.. So you can say that undefined means lack of value or unknown value. undefined is a token. typeof undefined will return undefined not an object.

Là không xác định một loại dữ liệu trong JavaScript?

Kiểu dữ liệu: Không xác định một biến trong JavaScript không có bất kỳ giá trị nào có giá trị không xác định.Kiểu dữ liệu của một biến chứa một giá trị không xác định cũng là 'không xác định'.A variable in JavaScript that is without any value has a value of undefined. The datatype of a variable that holds an undefined value is also 'undefined'.

Điều gì không xác định có nghĩa là JavaScript?

Thuộc tính không xác định chỉ ra rằng một biến chưa được gán một giá trị, hoặc hoàn toàn không được khai báo.a variable has not been assigned a value, or not declared at all.

Làm thế nào bạn có thể biết nếu một đối tượng không được xác định?

Trong chương trình JavaScript, cách chính xác để kiểm tra xem thuộc tính đối tượng không được xác định là sử dụng toán tử typeof.Nếu giá trị không được xác định, typeOf sẽ trả về chuỗi 'không xác định'.use the typeof operator. If the value is not defined, typeof returns the 'undefined' string.