<html>
<head>
<title>JS</title>
<script type="text/javascript">
function test1()
{
//接着上一讲继续
//请大家猜测一下下面的结果是什么?
alert(typeof(typeof a));
/*
答案是string,你猜对了吗?你是不是认为结果是undefined
typeof a的结果是undefined,是Undefined类型的字面量。
所以我们可以得出个结论Undefined类型的字面量undefined是一个string类型的字符串,这个说法对吗?
现在看来可能对,但是我要告诉你这是不对的。
之所以结果是string是因为typeof函数的返回值是string类型的而不是上面所说的那个结论。
*/
}
function test2()
{
alert(typeof undefined);
/*
这是上一讲中的第一个,现在我们来思考一下下面的问题:
其中的undefined是Undefined类型的字面量还是只是一个名为undefined的变量?
我们到底能不能直接使用Undefined类型的字面量?
*/
}
/*
现在大家不会晕了吧,呵呵。
在开始推翻上面错误结论,解释为什么之前咱们先来搞清楚JavaScript的
一个基础知识点。看test3(),test4();
*/
function test3()
{
alert(a=="123");
//alert(a+1);
}
function test4()
{
var a;
alert(a>="123");
alert(a+1);
}
/*
test3()的结果是报错:变量a没有定义
test4()的结果是false;
通过比较上面两个函数的结果可以得出:
若一个变量没有声明直接使用,我这里说的使用是指对他进行加减乘除或和别的量
进行比较时就会报错。如果声明了就不会报错。
*/
/*
好,记住这个结论,我们利用这个结论来解释我们前面的疑问。
*/
/*
typeof undefined中的undefined是Undefined类型的字面量还是只是一个名为undefined的变量?
*/
function test5()
{
alert(undefined==a);
alert(a==undefined);
/*
运行结果是报错,上面两个报的错相同都是"a"没有定义。
这就说明了其中的undefined是Undefined类型的字面量,是可以直接拿来使用的。
*/
}
/*
错误结论:
Undefined类型的字面量undefined是一个string类型的字符串
*/
function test6()
{
alert(undefined=="undefined");
/*
上面的结果为false
证明了上述结论是错误的,undefined就是Undefined类型,而不是字符串类型。
*/
}
function test7()
{
alert(undefined==undefineD);
alert(undefineD==undefined);
/*
两个都是报错说undefineD未定义
用这个例子我想说明的是只有undefined是Undefined类型的字面量,其他类似的都是
普通的变量。
*/
}
</script>
</head>
<body>
<input type="button" onclick="test7()" value="Click">
</body>
</html>
分享到:
相关推荐
在JavaScript中,null是字面量同时也是语言中的关键字,用来表示无法识别的对象值。换句话说,这用来表示“无值(no value)”。虽然相似,undefined实际上代表了不存在的值(non-existence of a value)。都是完全...
2. 字符串字面量类型:定义字符串字面量类型。 3. 数字字面量类型:定义数字字面量类型。 4. 布尔字面量类型:定义布尔字面量类型。 类 1. 枚举:定义枚举类型。 2. 数字枚举:定义数字枚举。 3. 字符串枚举:定义...
当定义一个字面量时,JavaScript会自动根据其类型和值来创建相应的对象。根据给定的文件内容,我们可以提炼以下知识点: 1. JavaScript中的字面量和类型: - JavaScript中存在两种主要的数据类型:值类型和引用...
JavaScript是一种动态类型的面向对象编程语言,它提供了多种创建对象的方式,其中对象字面量和构造函数是最常见的两种。本文将深入讲解这两种创建对象的方法及其原理。 **对象字面量** 对象字面量是JavaScript中...
JavaScript是一种广泛用于网页和网络应用的脚本语言,它的核心概念包括数据类型、字面量和变量。理解这些基础知识对于学习JavaScript至关重要。 首先,我们来详细探讨数据类型。JavaScript有七种基本数据类型,其中...
* Object:对象类型,可以使用对象字面量创建对象。 * Array:数组类型,可以使用数组字面量创建数组。 * Function:函数类型,可以使用函数声明创建函数。 在JavaScript中,基本类型的值是存储在栈中的,而复杂...
当你比较`message`与`undefined`字面量时,它们是相等的。然而,通常情况下,我们并不需要显式地将一个变量设为`undefined`,因为未初始化的变量默认就是这个值。 `undefined`的主要用途在于比较,特别是在判断变量...
接着是类型章节,详细解释了各种类型,包括任意类型、基本类型(Number、Boolean、String、Void、Null和Undefined)、枚举类型、字符串字面量类型、对象类型、命名类型引用、数组类型、匿名类型、类型参数、具名类型...
4. 类型系统:TypeScript支持丰富的类型系统,包括Any类型、原始类型(如Number、Boolean、String)、Void类型、Null和Undefined类型、枚举类型(Enum Types)、字符串字面量类型(String Literal Types)以及对象...
- **3.2.8 字符串字面量类型**:允许将字符串字面量作为类型。 **3.3 对象类型** - **3.3.1 命名类型引用**:可以直接引用其他已定义的类型名称。 - **3.3.2 数组类型**:用于表示同类型元素的集合。 - **3.3.3 ...
`null`在JavaScript中是一个字面量,表示一个空对象指针,尽管其类型是`object`,但它并不包含任何属性和方法。而`undefined`通常表示一个未被赋值的变量。在进行类型检查时,使用`typeof`运算符,`typeof(null)`会...
- **字面量**是指在代码中直接表示的值,如数字`5`、字符串`'Hello'`或布尔值`true`。 - **变量**是存储值的容器,使用`var`、`let`或`const`关键字声明,例如`var name = 'John';` - **标识符**是用于变量、函数...
基本数据类型包括Undefined、Null、Boolean、Number、String以及ES6新增的Symbol。这些类型在JavaScript中被视为原始数据类型,它们的值是不可变的,即一旦创建,就不能修改。例如,尝试修改一个字符串的某个字符...
4. 字面量类型与类型缩小:字面量类型用于指定特定的值,类型缩小是在类型系统中减少不确定性,提高类型精度。 五、函数类型 1. 函数的类型和函数签名:函数签名定义了函数的输入和输出类型,确保函数调用时传入...
根据提供的文档信息,我们可以深入探讨其中提及的关键知识点,特别是关于JavaScript的数据类型及其转换方式。 ### 1. 字面量、变量、标识符 #### 字面量(Literals) 字面量是指在JavaScript中直接写出的数据值,...
null在JavaScript中是一个字面量,用来表示空值或无值的状态。它有自己的数据类型——Null类型,与其他任何类型的值都不相同。在JavaScript中,使用typeof运算符对null进行检查时,会返回"object"。这一点经常让人...
它是JavaScript中的一个基本类型,它的值是字面量null。关于null和栈内存的关系,描述中提到null实际上存放在stack栈中,这与其他引用类型不同,因为其他引用类型的数据默认是存放在heap堆内存中的。这种特殊性来源...