`
ilovejsj
  • 浏览: 205647 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

关于Undefined类型字面量undefined的小小研究(3)

阅读更多
<html>
<head>
<title>JS</title>
<script type="text/javascript">
//这一讲我们来看看Undefined类型有哪些比较特别或值得注意的地方。

function test(){
	undefined==undefined;
	alert(typeof undefined);
	
	var undefined="123";
	alert(typeof undefined);

	undefined=123;
	alert(typeof undefined);

	undefined=true;
	alert(typeof undefined);	
/*
结果依次是undefined,string,number,boolean
undefined赋值后可以当一个普通变量来用
*/
}

function test1()
{
	alert(undefined==undefined);
	alert(NaN==NaN);
/*
undefined与自身相等,不像NaN一样自己不等于自己
*/
}

function testFun()
{
/*
空函数,什么都不做
*/
}

function test2()
{
	alert(typeof testFun);
	alert(typeof testFun());
/*
结果分别是 function,undefined
第一个是函数的引用
第二个直接调用函数
如果一个函数没有明确返回值时那么它的返回值就是undefined
*/
}

function test3()
{
	alert(undefined==null);
/*
值undefined实际上是从值null派生来的,所以undefined == null 
undefined 是声明了变量但是没有初始化时赋予该变量的值,
null表示尚未存在的对象 
*/
}

/*
值undefined并不同于未定义的值
这句话该怎么理解呢?
*/
function test4()
{
	var temp1;
	alert(typeof temp1);
	alert(typeof temp2);
	
	alert(temp1+1);
	alert(temp2+1);
/*
首先明确变量声明但未初始化和变量未定义(或声明)是两个不同的概念
temp1属于前者temp2属于后者,两者都被初始化为undefined
但是typeof运算符并不区分这两种值
对于未定义的变量temp2虽然他的默认初始值为undefined但是还是不能拿它来进行其它
运算。
*/
}
</script>
</head>
<body>

<input type="button" onclick="test4()" value="Click">
</body>
</html>

总结一下
以下三种情况typeof 返回类型为undefined
1. 当变量未初始化时
2. 变量未定义时
3. 函数无明确返回值时(函数没有返回值时返回的都是undefined)
undefined 并不等同于未定义的值,typeof 并不真正区分是否是未定义
0
0
分享到:
评论

相关推荐

    typescript官方一手教程

    3. 数字字面量类型:定义数字字面量类型。 4. 布尔字面量类型:定义布尔字面量类型。 类 1. 枚举:定义枚举类型。 2. 数字枚举:定义数字枚举。 3. 字符串枚举:定义字符串枚举。 4. 异构枚举:定义异构枚举。 5. ...

    详解javascript中原始数据类型Null和Undefined

    在JavaScript中,null是字面量同时也是语言中的关键字,用来表示无法识别的对象值。换句话说,这用来表示“无值(no value)”。虽然相似,undefined实际上代表了不存在的值(non-existence of a value)。都是完全...

    你必须知道的Javascript知识点之&quot;字面量和对应类型&quot;说明介绍

    当定义一个字面量时,JavaScript会自动根据其类型和值来创建相应的对象。根据给定的文件内容,我们可以提炼以下知识点: 1. JavaScript中的字面量和类型: - JavaScript中存在两种主要的数据类型:值类型和引用...

    javascript的数据类型、字面量、变量介绍

    JavaScript是一种广泛用于网页和网络应用的脚本语言,它的核心概念包括数据类型、字面量和变量。理解这些基础知识对于学习JavaScript至关重要。 首先,我们来详细探讨数据类型。JavaScript有七种基本数据类型,其中...

    JavaScript对象字面量和构造函数原理与用法详解

    JavaScript是一种动态类型的面向对象编程语言,它提供了多种创建对象的方式,其中对象字面量和构造函数是最常见的两种。本文将深入讲解这两种创建对象的方法及其原理。 **对象字面量** 对象字面量是JavaScript中...

    前端大厂最新面试题-data_type.docx

    * Object:对象类型,可以使用对象字面量创建对象。 * Array:数组类型,可以使用数组字面量创建数组。 * Function:函数类型,可以使用函数声明创建函数。 在JavaScript中,基本类型的值是存储在栈中的,而复杂...

    javascript 中null和undefined区分和比较

    当你比较`message`与`undefined`字面量时,它们是相等的。然而,通常情况下,我们并不需要显式地将一个变量设为`undefined`,因为未初始化的变量默认就是这个值。 `undefined`的主要用途在于比较,特别是在判断变量...

    Typescript语法手册

    接着是类型章节,详细解释了各种类型,包括任意类型、基本类型(Number、Boolean、String、Void、Null和Undefined)、枚举类型、字符串字面量类型、对象类型、命名类型引用、数组类型、匿名类型、类型参数、具名类型...

    TypeScript Language Specification

    4. 类型系统:TypeScript支持丰富的类型系统,包括Any类型、原始类型(如Number、Boolean、String)、Void类型、Null和Undefined类型、枚举类型(Enum Types)、字符串字面量类型(String Literal Types)以及对象...

    TypeScript语法手册

    - **3.2.8 字符串字面量类型**:允许将字符串字面量作为类型。 **3.3 对象类型** - **3.3.1 命名类型引用**:可以直接引用其他已定义的类型名称。 - **3.3.2 数组类型**:用于表示同类型元素的集合。 - **3.3.3 ...

    区分JS中的undefined,null,&quot;&quot;,0和false

    `null`在JavaScript中是一个字面量,表示一个空对象指针,尽管其类型是`object`,但它并不包含任何属性和方法。而`undefined`通常表示一个未被赋值的变量。在进行类型检查时,使用`typeof`运算符,`typeof(null)`会...

    1901_姓名_01JavaScript数据类型.docx

    - **字面量**是指在代码中直接表示的值,如数字`5`、字符串`'Hello'`或布尔值`true`。 - **变量**是存储值的容器,使用`var`、`let`或`const`关键字声明,例如`var name = 'John';` - **标识符**是用于变量、函数...

    1902_陈良鑫_01JavaScript数据类型.docx

    根据提供的文档信息,我们可以深入探讨其中提及的关键知识点,特别是关于JavaScript的数据类型及其转换方式。 ### 1. 字面量、变量、标识符 #### 字面量(Literals) 字面量是指在JavaScript中直接写出的数据值,...

    个人学习TS的基本知识点

    4. 字面量类型与类型缩小:字面量类型用于指定特定的值,类型缩小是在类型系统中减少不确定性,提高类型精度。 五、函数类型 1. 函数的类型和函数签名:函数签名定义了函数的输入和输出类型,确保函数调用时传入...

    浅谈JavaScript中null和undefined

    null在JavaScript中是一个字面量,用来表示空值或无值的状态。它有自己的数据类型——Null类型,与其他任何类型的值都不相同。在JavaScript中,使用typeof运算符对null进行检查时,会返回"object"。这一点经常让人...

    JavaScript高级教程-引用类型.pptx

    基本数据类型包括Undefined、Null、Boolean、Number、String以及ES6新增的Symbol。这些类型在JavaScript中被视为原始数据类型,它们的值是不可变的,即一旦创建,就不能修改。例如,尝试修改一个字符串的某个字符...

    第3章 语法、关键保留字及变量1

    - 数组字面量:[1,2,3,4,5] 接着,JavaScript 包含一组关键字,这些关键字在语言中具有特定含义,如 break、else、new、var 等,它们不能用作变量名。此外,还有保留字,虽然当前未被使用,但未来可能会成为关键字...

Global site tag (gtag.js) - Google Analytics