JavaScript基本概念(二)
来源:互联网 发布:linux教程有什么 编辑:程序博客网 时间:2024/06/05 15:42
四、数据类型
- 5种简单数据类型(基本数据类型):Undefined、Null、Boolean、Number和String。
- 1种复杂数据类型:Object(本质上是由一组无序的名值对组成的)。
1、typeof操作符
检测给定变量的基本数据类型。
返回值如下:
- “Undefined”——未定义
- “boolean”——布尔值
- “string”——字符串
- “number”——数值
- “object”——对象或null
- “function”——函数
【注】
typeof主要用于检测变量的基本数据类型,但在检测引用类型的值时,使用instanceof操作符。
result = variable instanceof constructor
所有引用类型的值都是Object的实例。所以,在检测一个引用类型值和Object构造函数时,instanceof操作符始终会返回true,但是,如果使用instanceof操作符检测基本类型的值时,会始终返回false,因为基本类型不是对象。
2、Undefined类型
- 只有一个值,即特殊的undefined。
- 在使用var声明变量但未对其加以初始化时,这个变量的值就是undefined。
【注】包含undefined值的变量与尚未定义的变量是不一样的。对于尚未声明的变量,只能执行一项操作,即使用typeof操作符检测其数据类型。
var message; //这个变量声明之后未对其初始化,默认得到了undefined值var age //这个变量没有声明alert(message); //"undefined"alert(age); //产生错误
3、Null类型
- 只有一个值,即null。
- 从逻辑角度来看,null值表示一个空对象指针。所以在调用typeof null时会返回”object”
- 实际上,undefined值是派生自null值的。ECMA-262规定对它们的相等性测试要返回true。
alert(null == undefined); // true
4、Boolean类型
两个字面值:true和false。
5、Number类型
1 )数值字面量有十进制、八进制、十六进制。其中,八进制字面量在严格模式下无效。十六进制字面量的前两位必须是0x。
2)JavaScript不区分整数值和浮点数值。所有数字均用浮点数值表示。
最小数值保存在Number.MIN_VALUE中,最大数值保存在Number.MAX_VALUE中。
3)NaN:非数值(Not a Number)
- 用于表示一个本来要返回数值的操作数未返回数值的情况。
- 任何涉及NaN的操作都会返回NaN。
- NaN与任何值都不相等,包括NaN本身。
- 使用isNaN()判断一个参数是否“不是数值”。
4)Infinity:正无穷大。
- Infinity不是能参与计算的数值。
- 可以使用isFinite()函数判断一个数值是不是无穷的。
5)把非数值转换为数值的3个函数:
- Number():可以用于任何数据类型。
parseInt():把字符串转换成数值,常用于处理整数。
- 会忽略字符串前面的空格,直至找到第一个非空格字符。
- 如果第一个字符不是数字字符或者负号,返回NaN。
- 如果第一个字符是数字字符,则会一直解析完所有后续字符或遇到的第一个非数字字符。
- 传入第二个参数,即转换时使用的基数(多少进制),可以明确以什么形式解析。
parseFloat():把字符串转换成数值。与parseInt()类似,不过是用于处理浮点数字。
6、String类型
1)用于表示由零或多个16位Unicode字符组成的字符序列,即字符串。
2)字符串可以由双引号或单引号表示。
3)字符字面量,即转义序列,用于表示非打印字符,或者具有其他用途的字符。
4)字符串不可变,换句话说,字符串一旦创建,它的值就不能改变。
5)转换为字符串的方式:
- toString()方法:只适用于数值、布尔值、对象和字符串值,而null和undefined值没有这个方法。
- 默认以十进制格式返回数值的字符串表示。
- 传递基数可以输出二进制、八进制、十六进制。
- 使用转型函数String():适用于所有类型。
7、object类型
1)对象是一组数据和功能的集合。
2)对象可以通过执行new操作符后跟要创建的对象类型的名称来创建。
创建的Object类型的实例并为其添加属性和(或)方法,可以创建自定义对象。
var o = new Object();var o = new Object(); // 有效,但不推荐
3)Object类型所具有的任何属性和方法存在于更具体的对象中。可以这么理解,Object是所有对象的基础,也就是父类,我们自定义创建的对象都继承了它的特性。
4)Object实例的属性和方法
- constructor:保存着用于创建当前对象的函数。
- hasOwnProperty(“propertyName”):用于检查给定的属性在当前对象实例中是否存在。
- isPrototypeOf(object):用于检查传入的对象是否是当前对象的原型。
- toLocaleString:返回对象的字符串表示,该字符串与执行环境的地区对应。
- toString():返回对象的字符串表示。
- valueOf():返回对象的字符串、数值或布尔值表示。通常与toString()方法的返回值相同。
- JavaScript基本概念(二)
- JavaScript基本概念(二)
- JavaScript基本概念(二)
- JavaScript基本概念(二)
- 《javascript高级程序设计》读书笔记(二)javascript基本概念
- JavaScript基本概念(一)
- JavaScript基本概念(一)
- JavaScript基本概念(三)
- JavaScript基本概念(四)
- JavaScript基本概念(一)
- JavaScript基本概念(三)
- JavaScript基本概念(一)
- JavaScript基本概念(三)
- JavaScript基本概念(四)
- JavaScript基本概念(五)
- JavaScript基本概念(笔记)
- JavaScript基本概念(四)
- JavaScript思考之二:函数的基本概念
- node之koa创建项目笔记
- (八)过滤器-Filter
- python学习(3)表和元组
- 一个RecyclerView实现QQ空间相册布局
- VS2017下安装fltk库——C++程序设计原理与实践图形编程指南
- JavaScript基本概念(二)
- android studio 找回被删除的文件
- 关于yilia主题模块缺失问题
- jdk不是有效的win32程序怎么办
- linux学习入门常用命令大全
- C++: 谓词函数、函数对象(仿函数)、回调函数总结
- POJ 1001:Exponentiation —— 高精度浮点数运算
- Java-JDBCUtil工具类
- Android studio最新水平居中和垂直居中(全)