`

JavaScript数据类型

 
阅读更多

 

JavaScript数据类型

ECMAScript中的一切(变量、函数名和操作符)都区分大小写。

5中简单的数据类型(也称为基本数据类型):UndefinedNullBooleanNumberString。一种复杂数据类型:Object

typeof操作符:检测给定变量的数据类型

"undefined":如果这个值未定义或者未初始化;

"boolean":如果这个值是布尔值;

"string":如果这个值是字符串;

"number":如果这个值是数值;

"object":如果这个值是对象或者null

"function":如果这个值是函数。

 

 

Undefined类型只有一个值:undefined

 

 

Null类型只有一个值:null

 

 

无论在什么时候情况下都没有必要把一个变量的值显示地设置为undefined,可以同样的规则对null却不适应。换句话说,只要意在保存对象的变量还没有真生保存对象,就应该明确地让该变量保存null值。这样做不仅可以体现null作为空对象指针的惯例。而且也有助于进一步区分nullundefined

 

 

Boolean类型有两个字面值:truefalse,但ECMAScript中所有类型的值都有与这两个Boolean值等价的值。要将一个值转换为其对应的Boolean,可以调用Boolean(),而对于流程控制语句(如if语句)自动执行相应的Boolean转换。

 

 

Number类型表示整数和浮点数值。

1.虽然数值可以用八进制或者十六进制来表示,但在进行算术计算式,所有以八进制和十六进制表示的数值最终都将被转换成十进制数值。

2.如果数值超出JavaScript数值范围的值,那么这个数值将被自动转换成特殊的Infinity值,可以使用isFinite()函数,这个函数在参数位于最小与最大数值之间是会返回true

3.NaN特殊的数值,这个值用于表示一个本来要返回数值的操作数未返回数值的情况(这样就不会抛出错误了),例如,在其他编程语言中,任何值/0将导致代码错误,而在ECMAScript中返回NaNisNaN()函数确定参数值是否“不是数值”。

4.数值转换:Number()parseInt()parseFloat()

Number()可以用于任何数据类型,而另两个函数专门用于吧字符串转换成数值。由于Number()在转换字符串时比较复杂而且不够合理,因此在处理整数的时候更常用的是parseInt()

parseInt()在转换字符串是,更多的是看其是否符合数值模式,会忽略字符串前面的空格,直至找到第一个非空格字符。如果第一个字符不是数字字符或者符号,parseInt()就会返回NaN;也就是说,用parseInt()转换空字符串会返回NaN。如果第一个字符是数字字符,parseInt()会继续解析第二个字符,直到解析完所有后续字符或者遇到了一个非数字字符。例如,"1234blue"会被转换为1234"22.5"会转换为22,因为小数点并不是有效的数字字符。parseInt()也能够识别出各种数字格式(十、八、十六进制)。parseInt()也可以传入第二个参数:转换时使用的基数(即多少进制);

除了第一个小数点有效之外,parseFloat()parseInt()的第二个区别在于它始终都会忽略前导零。由于parseFloat()只解析十进制值,因此它没有第二个参数。

 

 

String类型:要把一个值转换为一个字符串有两种方式:toString()方法或者String()方法

调用toString()方法不必传入参数,但是在调用数值的toString()方法时,可以传递一个参数:输出数字的基数,默认情况下,toString()方法以十进制格式返回数值的字符串表示。而通过传递基数,toString()可以输出以二进制、八进制、十六进制甚至其他有效进制来表示字符串值。在不知道要转换的值是不是nullundefined的情况下,应该使用String(),这个函数能够将任何类型的值转换为字符串。

 

Object类型:Object的实例都具有下列属性和方法:constructorhasOwnProperty(propertyName)isPrototypeof(object)propertyIsEnumerable(propertyName)

toString()valueOf()

 

参考代码:

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
		<title>filter(css滤镜)</title>
		
		<script language="JavaScript">
		var message;
		console.log(message);
		//alert(age);//error
		console.log(typeof message);
		console.log(typeof age);
		console.log(null == undefined);
		
		var message1 = "Hello world";
		console.log("Boolean(message1):"+Boolean(message1));//true
		
		var octalNum1 =070;//八进制56
		var octalNum2 =079;//无效八进制--解析为79(如果字面值中的数值超出了范围,那么前导零将被忽略,后边的数值将被当做十进制值解析)
		var octalNum3 =08;//无效八进制--解析为8
		var hexNum1 = 0xA;//十六进制10
		var hexNum2 = 0x1f;//十六进制31
		console.log(hexNum2);
		
		var floatNum1 = 1.;//解析为整数1(由于保存浮点数值需要的内存空间是保存证书的两倍,因此会不失时机的将浮点数值转换为整数数值)
		var floatNum2 = 10.0//解析为整数10
		console.log(isFinite(Number.MAX_VALUE+Number.MAX_VALUE));//false
		
		console.log("isNaN(NaN):"+isNaN(NaN));//true
		console.log("isNaN(10):"+isNaN(10));//false
		console.log("isNaN('10'):"+isNaN("10"));//false
		console.log("isNaN('blue'):"+isNaN("blue"));//true
		console.log("isNaN(true):"+isNaN(true));//false
		
		console.log(Number("Hello world"));//NaN
		console.log(Number("1234Hello world"));//NaN 字符歘中包含无效格式,注意其不转换为1234
		console.log(Number(""));//0
		console.log(Number("070"));//70  如果字符串中包换数字,则将其转换为十进制,注意忽略前导零
		console.log(Number("0xf"));//15 如果字符串中包含有效的十六进制格式,则将其转换为十进制
		console.log(Number(22.5));//22.5
		
		console.log(parseInt("Hello world"));//NaN
		console.log(parseInt("1234Hello world"));//1234 
		console.log(parseInt(""));//NaN
		console.log(parseInt("070"));//56 
		console.log(parseInt("0xf"));//15
		console.log(parseInt(22.5));//22
		
		console.log(parseFloat("Hello world"));//NaN
		console.log(parseFloat("1234Hello world"));//1234 
		console.log(parseFloat(""));//NaN
		console.log(parseFloat("070"));//0 
		console.log(parseFloat("0xf"));//0
		console.log(parseFloat(22.5));//22.5
		
		console.log(parseInt("AF"));//NaN
		console.log(parseInt("AF",16));//175
		
		var text = "sigma: \u03a3.";
		console.log(text.length + " " +text);//9 sigma: Σ. 其中6个字符长的转义序列表示1个字符
		
		var num = 10;
		console.log(num.toString());//10
		console.log(num.toString(2));//1010
		console.log(num.toString(8));//12
		console.log(num.toString(10));//10
		console.log(num.toString(16));//a
		var strNull = null;
		var strUndefined;
		//console.log(strNull.toString());//error
		//console.log(strUndefined.toString());//error
		
		console.log(String("10"));//10
		console.log(String("010"));//010
		console.log(String("0x10"));//0x10
		console.log(String(strNull));//null
		console.log(String(strUndefined));//undefined
		
		var o = new Object();
		var o1 = new Object;//有效,但不推荐省略圆括号
		
		</script>
	</head>
	<body>
		
	</body>
</html>
  摘自:JavaScript高级程序设计(第二版第三章基本概念)

 

 

 

 

 

分享到:
评论

相关推荐

    javascript数据类型

    JavaScript 数据类型详解 JavaScript 中的数据类型是一种基本概念,它们决定了变量能够存储的数据类型和操作方式。本文将详细介绍 JavaScript 中的基本数据类型和复杂数据类型,并对每种数据类型进行深入解释。 ...

    javascript数据类型详解

    ### JavaScript数据类型详解 #### 一、JavaScript中的数据类型 JavaScript语言是弱类型的,它具有六种基本数据类型和一种引用数据类型。基本数据类型包括Undefined、Null、Boolean、Number和String,而引用数据...

    JavaScript数据类型详解

    在JavaScript中,数据类型分为两大类:基本数据类型(简单数据类型)和复杂数据类型。基本数据类型包括Undefined、Null、Boolean、Number和String,而复杂数据类型主要是Object。 1. **Undefined类型**: - 当一个...

    javascript数据类型验证方法

    在JavaScript中,数据类型验证是一个非常基础且重要的知识点,对于初学者和经验丰富的开发者来说,能够准确地识别变量的数据类型是非常有帮助的。本文将详细阐述JavaScript中各种数据类型的验证方法,以及自定义验证...

    javascript数据类型示例分享

    JavaScript中的数据类型可以分为两大类:原始数据类型和对象数据类型。原始数据类型包括布尔(Boolean)、数值(Number)、字符串(String)等。对象数据类型包括数组(Array)、日期(Date)、函数(Function)等。...

    JavaScript数据类型学习笔记

    在JavaScript中,数据类型分为两种:基本数据类型(简单数据类型)和复杂数据类型。 基本数据类型包括Undefined、Null、Boolean、Number和String。这些类型的值在内存中占据固定大小的空间,它们是非引用类型,意味...

    JavaScript数据类型检测代码分享

    本文将详细介绍一个简单的JavaScript数据类型检测函数,以及如何理解和使用它。 首先,让我们分析提供的代码: ```javascript /** * param:o 表示检测的值 * return:返回字符串 "undefined"、"number"、...

    JavaScript 数据类型

    JavaScript 数据类型 值类型(基本类型):字符串(String)、数字(Number)、布尔(Boolean)、对空(Null)、未定义(Undefined)、Symbol。 引用数据类型:对象(Object)、数组(Array)、函数(Function)。 注:Symbol...

    javascript数据类型 -JavaScript优势简介及数据类型

    JavaScript提供了多种数据类型,包括基本和复合类型: 1. **基本数据类型**: - **数字(Numbers)**:整数和浮点数,如123,120.50。 - **字符串(Strings)**:文本字符序列,如"This text string",可以用单...

    JavaScript 数据类型详解

    在本文中,我们将深入了解JavaScript中的数据类型,这是一项对于任何使用JavaScript进行开发的程序员来说都至关重要的基础知识点。JavaScript是一种弱类型或者说是动态类型的语言,这意味着在定义变量时,我们不需要...

    浅谈JavaScript数据类型

    本文从javascript的数据类型的简介开始谈起,接着讲述了javascript的6种数据类型,分别为Number、Boolean、String、Null、Undefined和Object,并给出了一个typeof操作符的示例,这里分享给大家。

    javascript权威指南 学习笔记之javascript数据类型

    根据给定的【标题】"javascript权威指南 学习笔记之javascript数据类型"和【描述】,我们可以深入探讨JavaScript中的数据类型及其特点。 首先,JavaScript支持三种基本数据类型:数字(Number)、字符串(String)...

    详解Javascript数据类型的转换规则

    在本文中,我们将详细探讨JavaScript中的数据类型转换规则,这些规则对于深入理解JavaScript编程至关重要。 首先,我们来看看JavaScript中的基本数据类型和复杂数据类型。JavaScript有五种基本数据类型:Null、...

    JavaScript数据类型判定的总结笔记

    JavaScript中的数据类型判定是前端开发中常用到的一项基础技能。在这篇笔记中,作者详细地介绍了在JavaScript中如何判定数据类型,并提供了一些实用的函数和方法,帮助开发者能够更加准确地识别和处理各种数据类型。...

    浅谈JavaScript数据类型及转换

    JavaScript是一种动态类型的编程语言,它的数据类型分为两大类:基本数据类型和引用数据类型。基本数据类型包括Boolean、Number、String、Undefined、Null以及ES6新增的Symbol和BigInt。引用数据类型主要是Object,...

    JavaScript数据类型学习笔记分享

    JavaScript是一种高级的、解释执行的编程语言,其数据类型分为两大类:基本类型和引用类型。基本类型指的是那些不可再分的简单数据类型,而引用类型指的是那些存储在堆内存中的对象,它们的值可以通过引用被访问。本...

Global site tag (gtag.js) - Google Analytics