JavaScript之数据类型
1. 种类
5种基本类型:Number、String、Null、Undefined、Boolean
1种对象类型:Object(Function、Array、Date)
特别注意:当把基本类型尝试以对象的方式使用它的时候(比如使用它的length属性,增加它的属性),JS会将其转化为包装类型的对象(临时对象),但当完成这样一个访问后,JS就会销毁这个临时对象!
2. 类型检测
由于ECMAScript是松散类型的,故有必要检测给定变量的数据类型:
typeOf

适合范围:基本类型、函数类型(注意:不适合null)
instanceof
var obj;
console.log(obj instanceof Object);//true
console.log(undefined instanceof Object);//false
console.log(null instanceof Object)//false
obj instanceof Object 判断obj的原型链上是否有Object.prototype对象
适用范围:引用类型的判断
Undefined、Null类型的检测
由于这两种类型都只有一个值,所以可以直接用值来判断!
null === null;//true
undefined === undefined;//true
Undefined的意义:用来表示声明但未初始化的变量(注意:不同于尚未定义的变量)
Null的意义:用来表示尚未存在的对象(空对象指针)(建议:如果定义的变量将来用于保存对象,那最好将该变量初始化为null而不是其他值,这样就只要坚持null即可知道是否已经保存了一个对象的引用!)
3. 等于、严格等于
==:
- 对于基本类型而言,会尝试进行类型转换之后再比较
- 对于引用类型,会比较是否是指向同一个对象(地址比较)

===:
- 类型不同返回false
- 同类型的比较,不进行类型转换
特殊值:NaN的比较
NaN:Not a Nnmber
意义:控制“将本来要返回数字但是却没有返回数字”的情况。例如“I”*3在其他语言中是会报错的,但在JavaScript中并不会报错,而是返回值NAN。
特殊性:跟任何类型比较都不相等,包括它自己!所以要判断一个值是否是NAN,必须使用isNAN
1.对于基本类型会尝试进行number类型的转换后再进行判断

2.对于对象类型,会首先调用其valueOf尝试转换后再进行判断
var o = {
valueOf:function(){
return "44";
}
}
isNaN(o);//false
4. 类型转换
巧用+/-进行类型转换

Boolean值的转换
|
数据类型
|
转换为true的值
|
转换为false的值
|
|
Boolean
|
任何非空字符串
|
空字符串
|
|
Number
|
任何非零数字值(包括无穷大)
|
0和NaN
|
|
Object
|
任何对象
|
null
|
|
Undefined
|
不适用
|
undefined
|
字符串转数值




值转字符串
- toString-----不适用于null、undefined
- String()
JavaScript之数据类型的更多相关文章
- JS-安全检测JavaScript基本数据类型和内置对象的方法
前言:在前端开发中经常会需要用到检测变量数据类型的需求,比如:判断一个变量是否为undefined或者null来进行下一步的操作,今天在阅读“编写高质量代码-改善JavaScript程序的188个建议 ...
- JavaScript基础——数据类型
JavaScript使用数据类型来确定如何处理被分配给一个变量的数据.变量的类型决定了你可以对变量进行什么操作,如循环或者执行.下面描述了最常用的变量类型. 字符串(String):此数据类型将字符数 ...
- JavaScript 的数据类型 相关知识点
(1)基本数据类型介绍 JavaScript的数据类型分为两类:原始类型(primitive type)和对象类型(object type) 或者说是:可以拥有方法的类型和不能拥有方法的类型 或者说是 ...
- JavaScript的数据类型
JavaScript的数据类型 1.JavaScript的数据类型包括:字符串.数值.布尔.数组.对象.Null.Undefined. 2.JavaScript拥有动态类型,这以为着同一个变量可用作不 ...
- JavaScript判断数据类型总结
最近做项目中遇到了一些关于javascript数据类型的判断处理,上网找了一下资料,并且亲自验证了各种数据类型的判断网页特效,在此做一个总结吧! 一.JS中的数据类型 1.数值型(Number):包 ...
- JavaScript 学习之第一篇JavaScript的数据类型(2016/8/29 晚 23:12)
1. JavaScript的数据类型 JavaScript 里面有6中数据类型 Boolean String Number Undefined Null Object object(对象)类型包含了数 ...
- 从头开始学JavaScript (三)——数据类型
原文:从头开始学JavaScript (三)--数据类型 一.分类 基本数据类型:undefined.null.string.Boolean.number 复杂数据类型:object object的属 ...
- JavaScript基本数据类型
JavaScript基本数据类型 在JavaScript种一共有6种数据类型:Null.Undefined.Boolean.String.Number.Object.其中Object是一种复杂数据类型 ...
- javaScript(4)---数据类型
javaScript(4)---数据类型 第4章 数据类型 学习要点: 1.typeof操作符 2.Undefined类型 3.Null类型 4.Boolean类型 5.Number类型 6.Stri ...
- 1:Javascript的数据类型和相互转换
第一节:JavaScript的数据类型 他是弱类型 var 但是正是由于其实弱类 所以其后台的数据类型转换也是我们值得思考的 JavaScript的数据类型有两种 一种是原始类型 另外一种是对象类型 ...
随机推荐
- 【原】Redis基本操作
Redis基本操作 遍历操作 Pub-Sub server Lua脚本 Redis中的这些操作都是不分大小写的. 除了针对于具体类型的具体操作.还有一些其他操作. 遍历操作 SCAN cursor [ ...
- C#学习:集合、迭代、泛型(1)
一.System.Collections名称空间下几个接口表征着集合的功能: 1.IEnumerable:表征着迭代功能 public interface IEnumerable { IEnumera ...
- 微软Azure 存储管理器的简单介绍
Windows Azure存储用户经常希望能够在“管理器”中查看他们的数据,管理器指的是一款可用于显示存储帐户数据的工具.我们之前提供了我们所知的存储管理器列表.在本文中,我们将对此列表进行更新,使其 ...
- Hadoop学习记录(2)|HDFS shell命令|体系结构
HDFS的shell 调用文件系统(FS)shell命令使用hadoop fs的形式 所有的FS shell命令使用URI路径作为参数. URI格式是scheme://authority/path.H ...
- 问题-delphi无法编辑oracle表
问题现象:在一次开发过程中,遇到了delphi无法编辑oracle表. 问题原因:原来是自己误操作控件的属性了. 问题处理: OraQuery1.ReadOnly:=False; OraQuery1. ...
- [每日一题] 11gOCP 1z0-053 :2013-10-7 the backup of MULT_DATA................................32
转载请注明出处:http://blog.csdn.net/guoyjoe/article/details/12500579 正确答案:D RMAN 的新增功能 对超大型文件应用 Intraf ...
- linux命令之cat
转自:http://www.cnblogs.com/peida/archive/2012/10/30/2746968.html cat命令的用途是连接文件或标准输入并打印.这个命令常用来显示文件内容, ...
- 在Visual Studio中使用Pseudovariables来帮助调试
博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:在Visual Studio中使用Pseudovariables来帮助调试.
- 【面试虐菜】—— MongoDB知识整理
为什么我们要使用MongoDB? 特点: 高性能.易部署.易使用,存储数据非常方便.主要功能特性有: 面向集合存储,易存储对象类型的数据. 模式自由. 支持动态查询. 支持完全索引,包含内部对象. 支 ...
- jQuery 编辑div内容
div显示如下 <div id="showResult"></div> div中添加的html,进行拼接 $("#showResult" ...