Home > Web Front-end > JS Tutorial > The difference between undefined and 'undefined' in JScript_javascript tips

The difference between undefined and 'undefined' in JScript_javascript tips

WBOY
Release: 2016-05-16 19:17:44
Original
1402 people have browsed it

JScript中用于表示未定义的undefined标识符到底是表示什么未定义?它和"undefined"(包括"在内)又有什么区别和联系呢?为什么有的时候可以使用undefined来和变量做比较,而有的时候又不行呢?

    underfined"undefined"的区别大家一眼就能看出来。在一般的认知下,我们认为undefined是JScript提供的一个"关键字",而"undefined"却毫无悬念的就是一个字符串,只是引号内的内容长得和undefined一个样。undefined"undefined"的区别虽然是十分明显的,但它们的联系也是紧密的。

    仔细阅读JScript手册,其实这个underfined是一个"已定义"的Global值,而不是它的字面意义所表达的未定义。我们看下面这个代码示例,很有趣:

The difference between undefined and 'undefined' in JScript_javascript tipsThe difference between undefined and 'undefined' in JScript_javascript tips<script language="javascript">
The difference between undefined and 'undefined' in JScript_javascript tipsalert(undefined);
The difference between undefined and 'undefined' in JScript_javascript tipsalert(variable);
The difference between undefined and 'undefined' in JScript_javascript tips
script>

The result of execution is:
undefined.png

Let’s slightly modify the above code and add a typeof call to see:

The difference between undefined and 'undefined' in JScript_javascript tipsThe difference between undefined and 'undefined' in JScript_javascript tips<script language="javascript">
The difference between undefined and 'undefined' in JScript_javascript tipsalert(typeof undefined);
The difference between undefined and 'undefined' in JScript_javascript tipsalert(typeof variable);
The difference between undefined and 'undefined' in JScript_javascript tips
script>

What should the result be now? Display "object" and "undefined"? Of course not, both alert calls will display "undefined".

So undefined is a constant defined by the script engine, which exists after the script engine is initialized. Its actual function is to use to represent the uninitialized state (uninitialized) of a defined variable, such as var i;, then the value of i is undefined, and i is It's actually defined, but it's not initialized. At this time, we can write such an expression to judge i, such as if (i == undefined). If a variable that has never appeared in the code is used, the concept of undefined at this time is not uninitialized as described by undefined, but it means that the variable has not been registered in the context of the script engine at all. middle. If you use a statement like if ( abc == undefined ), you will get an error message similar to the second one in the picture above.

In actual use, if you use typeof to determine whether a variable is undefined, it is fully compatible with both undefined (undefined) and uninitialized (uninitialized) The situation is that I don't like to use if (typeof xxx == 'undefined') in many cases, because literal strings are easy to misspell, which is difficult for me from the perspective of using a strongly typed language that I am used to. It also looks unprofessional.
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template