BonsaiDen / JavaScript-Garden

A collection of documentation about the most quirky parts of the JavaScript language.
http://bonsaiden.github.com/JavaScript-Garden
MIT License
3.45k stars 559 forks source link

使用typeof检测一个未定义的变量时,是不会报错的。 #376

Closed CodingYiyi closed 5 years ago

CodingYiyi commented 7 years ago

原文: 测试为定义变量 typeof foo !== 'undefined' 上面代码会检测 foo 是否已经定义;如果没有定义而直接使用会导致 ReferenceError 的异常。 这是 typeof 唯一有用的地方。

实际情况: 使用typeof检测变量时,无论是未声明,还是只声明未赋值,返回的都是“undefined”

peterjwest commented 7 years ago

Sorry, I don't understand, none of the maintainers speak Mandarin.

jiangwenyang commented 5 years ago

@CodingYiyi 这段话的含义是说如果直接使用 foo!==undefined 将会报错,而使用typeof foo !== 'undefined'不会报错,因此这是typeof唯一有用的地方(即用来检查变量是否定义),是你自己没有认真阅读哦。

CodingYiyi commented 5 years ago

@jiangwenyang you are right,I'm wrong. sori