1. 声明变量没有赋值
<script>
let num
console.log(num) //undefined
</script>
2. 访问不存在的属性
<script>
const arr = [1, 2, 4]
console.log(arr[9]) //undefined
const obj = {}
console.log(obj.name) // undefined
</script>
3. 访问函数的形参没有显式的传递值
<script>
function render(a) {
console.log(a) //undefined
}
render() // 没有传递参数
</script>
4.访问被设置undefined 的任何值
<script>
const obj = undefined
let num = undefined
console.log(obj) // undefined
console.log(num) //undefined
</script>
5. 没有定义return 的函数隐式返回
<script>
// 定义函数
function add() {
console.log('haha')
}
console.log(add()) // 调用函数 undefined
</script>
6. 定义return 的没有任何返回值
<script>
// 定义函数
function add(num1, num2) {
num = num1 + num2
return
}
console.log(add(10, 10)) // 调用函数 undefined
</script>