- 浏览: 47194 次
- 性别:
- 来自: 北京
文章分类
最新评论
JavaScript数据类型
ECMAScript中的一切(变量、函数名和操作符)都区分大小写。
5中简单的数据类型(也称为基本数据类型):Undefined、Null、Boolean、Number、String。一种复杂数据类型:Object
typeof操作符:检测给定变量的数据类型
"undefined":如果这个值未定义或者未初始化;
"boolean":如果这个值是布尔值;
"string":如果这个值是字符串;
"number":如果这个值是数值;
"object":如果这个值是对象或者null;
"function":如果这个值是函数。
Undefined类型只有一个值:undefined
Null类型只有一个值:null
无论在什么时候情况下都没有必要把一个变量的值显示地设置为undefined,可以同样的规则对null却不适应。换句话说,只要意在保存对象的变量还没有真生保存对象,就应该明确地让该变量保存null值。这样做不仅可以体现null作为空对象指针的惯例。而且也有助于进一步区分null和undefined。
Boolean类型有两个字面值:true和false,但ECMAScript中所有类型的值都有与这两个Boolean值等价的值。要将一个值转换为其对应的Boolean,可以调用Boolean(),而对于流程控制语句(如if语句)自动执行相应的Boolean转换。
Number类型表示整数和浮点数值。
1.虽然数值可以用八进制或者十六进制来表示,但在进行算术计算式,所有以八进制和十六进制表示的数值最终都将被转换成十进制数值。
2.如果数值超出JavaScript数值范围的值,那么这个数值将被自动转换成特殊的Infinity值,可以使用isFinite()函数,这个函数在参数位于最小与最大数值之间是会返回true。
3.NaN特殊的数值,这个值用于表示一个本来要返回数值的操作数未返回数值的情况(这样就不会抛出错误了),例如,在其他编程语言中,任何值/0将导致代码错误,而在ECMAScript中返回NaN。isNaN()函数确定参数值是否“不是数值”。
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()可以输出以二进制、八进制、十六进制甚至其他有效进制来表示字符串值。在不知道要转换的值是不是null或undefined的情况下,应该使用String(),这个函数能够将任何类型的值转换为字符串。
Object类型:Object的实例都具有下列属性和方法:constructor、hasOwnProperty(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高级程序设计(第二版第三章基本概念)
发表评论
-
es6
2016-07-25 17:11 01.export default 不用关系模块输出了什么 ... -
immutable
2016-07-21 17:23 0作者:张克军链接:ht ... -
react
2016-07-08 16:02 0中文文档:http://reactjs.cn/react/ ... -
redux
2016-07-07 15:30 0redux例子counter总结: action:描述发 ... -
angular遇到的问题
2016-03-17 18:53 0Form Validation and fields add ... -
http2
2015-12-22 13:10 0http2资料: http://http2-explai ... -
iconfont的蜕化操作
2015-11-09 16:27 0转自:http://www.cnblogs. ... -
flux
2015-10-19 14:03 0转自:http://www.csdn.net/articl ... -
setTransform
2015-10-15 17:30 0转自:http://book.51cto.co ... -
遇到的问题
2014-12-19 14:37 0http://stackoverflow.com/questi ... -
node安装(windows)
2014-09-14 10:43 0Windows平台下的node.js安装 直接去node ... -
jQuery.Callbacks之demo
2014-08-30 10:56 0jQuery.Callbacks是jquery在1.7版本 ... -
使用proxy改变js上下文
2014-03-27 21:48 0<body> <div id=& ... -
num
2014-01-14 17:31 0$("input[type=text][imemo ... -
js插件模板
2014-01-05 12:36 0(function(){ function Guid ... -
jquery中的this
2013-06-26 21:42 0jQuery.fn.test2= function() ... -
SeaJS与RequireJS最大的区别
2013-06-21 08:43 0SeaJS与RequireJS最大的区别 转自:h ... -
快速排序
2013-06-16 17:35 0快速排序: 设要排序的数组是A[0]……A[N-1],首先 ... -
autocomplete/suggest
2013-06-07 15:05 0<!DOCTYPE html PUBLIC & ... -
typeof
2013-06-06 08:35 0console.log(typeof ([])) //obj ...
相关推荐
javascript数据类型
javascript数据类型
第3节 JavaScript数据类型.rar第3节 JavaScript数据类型.rar第3节 JavaScript数据类型.rar第3节 JavaScript数据类型.rar第3节 JavaScript数据类型.rar第3节 JavaScript数据类型.rar第3节 JavaScript数据类型.rar第3...
JavaScript 数据类型知识点总结及基础类型的使用方法 JavaScript 中的数据类型是指在编程语言中对常用的各种数据类型进行明确的划分,以便让计算机正确的识别和处理不同的数据类型。在 JavaScript 中,常用的数据...
在JavaScript中,数据类型分为两种主要类别:基本数据类型(也称为原始数据类型)和引用数据类型。 基本数据类型包括五种: 1. **String**:字符串类型,用于存储文本信息。字符串是由一个或多个字符组成的序列,...
JavaScript提供了多种数据类型,包括基本和复合类型: 1. **基本数据类型**: - **数字(Numbers)**:整数和浮点数,如123,120.50。 - **字符串(Strings)**:文本字符序列,如"This text string",可以用单...
第2章 JavaScript数据类型和运算符
【温故而知新】JavaScript数据类型
### JavaScript数据类型详解 #### 一、JavaScript中的数据类型 JavaScript语言是弱类型的,它具有六种基本数据类型和一种引用数据类型。基本数据类型包括Undefined、Null、Boolean、Number和String,而引用数据...
JavaScript 是一种广泛用于Web开发的动态编程语言,其数据类型是理解其核心概念的关键。在JavaScript中,数据类型分为两大类:基本数据类型和引用数据类型。基本数据类型包括字符串(String)、数字(Number)、布尔...
3. **JavaScript数据的强制类型转换**: - **转换为String类型**: - `toString()`方法:适用于非`null`和`undefined`的基本类型,返回对应的字符串形式。 - `String()`函数:可以转换所有类型,对于`null`和`...
JavaScript是一种广泛用于网页和网络应用的轻量级脚本语言,尤其在前端开发中起着核心作用。在理解和编写JavaScript代码时,...希望这些详细解释能帮你理清JavaScript数据类型的概念,让你在编写代码时更加得心应手。
JavaScript数据的强制类型转换 #### 转换为String类型 - **调用toString()方法**: - 大多数类型都有这个方法,但`null`和`undefined`没有,调用会抛出错误。 - **使用String()构造函数**: - 可以将任何类型转换...
### JavaScript 数据类型详解 JavaScript是一种广泛使用的编程语言,尤其在前端开发领域占据着主导地位。JavaScript的数据类型是理解和掌握这门语言的基础之一。本篇文章将深入解析JavaScript中的数据类型,并通过...