下面的代码应打印出字符串,sname但它没有这样做.根本没有丢失任何错误?
var Student = function(name, fee) {
if(fee >= 1000) {
this.registered = new Boolean(true);
} else {
this.registered = 'not rgistered yet';
}
}
Student.prototype.isRegistered = function() {
return this.registered;
}
var John = new Student('John', 1000);
if(John.isRegistered() === true) {
$('#sname').text('John is now a registered student');
}
Run Code Online (Sandbox Code Playgroud)
您的问题是以下行:
this.registered = new Boolean(true);
Run Code Online (Sandbox Code Playgroud)
切勿new在JS中使用原始类型.这可以通过更少的击键来完成:
this.registered = true;
Run Code Online (Sandbox Code Playgroud)
new boolean(false)返回一个对象,该对象具有valueOf返回包装值的方法,而不是实际的期望值,true在这种情况下.
| 归档时间: |
|
| 查看次数: |
69 次 |
| 最近记录: |