我有 3 个问题。谢谢!
第一个问题:
JavaScript 代码什么时候会引发“TypeError”异常?
其他问题:
我有以下代码:
<!DOCTYPE html>
<meta charset="utf-8">
<title>An HTML5 document</title>
<script>
var str = 'abc'; // str's type is string, not object
// Syntax: Object.getPrototypeOf(object)
alert(Object.getPrototypeOf(str)); // Uncaught TypeError: Object.getPrototypeOf called on non-object
// Syntax: prototype.isPrototypeOf(object)
if (Object.prototype.isPrototypeOf(str)) { // false
alert('true');
} else {
alert('false');
}
</script>
方法 getPrototypeOf()
和 isPrototypeOf()
都需要一个参数,类型应该是对象。而str
的类型是string。
为什么getPrototypeOf
方法会抛出TypeError异常,而isPrototypeOf
方法不会抛出任何错误?
如果 str
的类型是对象 (var str = new String('abc')
),则 Object.prototype.isPrototypeOf(str )
为 true
。但是上面代码的结果是false
。为什么 str
用作 isPrototypeOf
方法的参数时,没有自动从字符串转换为对象?
谢谢!
最佳答案
- 查看 "TypeError mdc" 的第一个匹配项.当它抛出类型错误时,取决于规范和用户。
另一个回答具体问题。
关于javascript - 关于JavaScript的TypeError异常的一个问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4866940/