未捕获的语法错误,最低级的错误,直接编译不通过。
通常情况是写错符号,比如for循环应该用分号的写了逗号,函数接受形参应该用逗号但是写了分号。
// Uncaught SyntaxError: Unexpected token '<'
// for循环条件之间应该用分号分隔!
for (var i = 0, i< 5, i++) {
console.log(i);
}
async function foo() {
return 'hello world'
}
console.log(foo()) //Promise {<fulfilled>: undefined}
// Uncaught SyntaxError: missing ) after argument list
// 参数之间应该用逗号分隔!
foo().then(v => console.log(v); e => console.log(e))
未捕获引用错误:Uncaught ReferenceError: xxx is not defined
通常是使用了一个未定义的变量
console.log(a); //Uncaught ReferenceError: a is not defined
a = 10
未捕获类型错误:Uncaught TypeError......
show是一个变量不是一个函数!
var show = 10
show() //Uncaught TypeError: show is not a function
未经证实的错误:Uncaught (in promise)
通常是promise抛出(reject)了一个错误,但是没有catch捕获它
var ajax = new Promise((resolve, reject) => {
console.log('ajax');
reject('no') //Uncaught (in promise) no
})
父子组件通信,父组件通过props给子组件传值,子组件可使用传过来的值,虽然props是在子组件定义的,但子组件不能直接修改props里面的值,但是如果props里的数据是array或object类型的可修改其属性或下标值,但仍不可以直接赋值!