Tôi có một chức năng dọc theo dòng trong các cách sau:thể 'này' bao giờ được null trong Javascript
doSomething: function() {
var parent = null;
if (this === null) {
parent = 'some default value';
} else {
parent = this.SomeValue();
}
}
thể cha mẹ bao giờ được đặt thành 'một số giá trị mặc định' hoặc là séc for null thừa ?
Ngoài ra, những gì nếu tôi sử dụng ít hạn chế:
doSomething: function() {
var parent = this ? this.SomeValue() : 'some default value';
}
thể cha mẹ bao giờ được đặt thành 'một số giá trị mặc định' trong trường hợp này?
Cần lưu ý rằng cố gắng để gọi là "someValue()" chức năng trên một đối tượng mà không có một tài sản đó có thể là nguyên nhân cho một * ít * lo lắng. – Pointy
Vâng, về mặt kỹ thuật, nó không phải lúc nào cũng trải qua 'Object (this)', vì nếu nó là một đối tượng, nó không, và quan trọng hơn, nếu nó ban đầu là 'null' hoặc' undefined' thì nó không , nó chỉ được đặt trực tiếp vào đối tượng chung. – davin
@davin: Trên thực tế đối với một đối tượng, nó không quan trọng cho dù nó ('Object (obj) === obj'), nhưng đối với điểm thứ hai của bạn, bạn hoàn toàn chính xác. – pimvdb