说实话,它们之间的区别挺明显的,我们一般认为undefined是JavaScript提供的一个“关键字”,而“undefined”却是一个字符串,只是引号的内容和undefined一样。
- undefined是JavaScript的一个“已定义”的全局变量值,而不是他的字面意思所表达的未定义。
- undefined是脚本引擎定义的一个常量,它在脚本引擎初始化完毕后存在。
- undefined的实际作用表示一个已定义的变量的未初始化状态。
<!DOCTYPE html> <html> <head> <title>比较undefined和“undefined”</title> </head> <body> <center> <h1>比较undefined和“undefined”</h1> <hr> <br> <h5>显示如下信息……</h5> <pre> <script type="text/javascript"> with(document) { // writeln(variable);//打印未声明的变量会出错 writeln('undefined');//打印“undefined”字符串 writeln(undefined);//打印undefined变量 writeln(typeof 'undefined');//打印字符串“undefined”的类型 writeln(typeof undefined);//打印undefined变量的类型 writeln(typeof variable);//打印未声明的变量的类型 } </script> </pre> </center> </body> </html>