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的数据类型有两种 一种是原始类型 另外一种是对象类型 ...
随机推荐
- IIS7 性能(内存、CPU、当前请求耗时)监测
程序上线了,但运行过程中如果发现很CPU.内存异常,某些操作耗时,如何在生产环境中监测并查明原因呢,有以下几种工具(方式): 1.NProfiler,这是一个商业软件,有试用周期,可以监测包括Winf ...
- Html笔记(八)其他标签
<pre></pre> :此标签内封装的文本数据格式将保持原样,包括空格和缩进等格式.常用于页面中显示带有缩进层次的代码. <p></p> :段落标签, ...
- 1到n数组,和为指定数所有序列问题
(1)方法一,背包问题解法 #include <iostream> using namespace std; #include <vector> #include <li ...
- FP-Tree算法的实现
在关联规则挖掘领域最经典的算法法是Apriori,其致命的缺点是需要多次扫描事务数据库.于是人们提出了各种裁剪(prune)数据集的方法以减少I/O开支,韩嘉炜老师的FP-Tree算法就是其中非常高效 ...
- SQL中CUBE 用法
转自 http://www.cnblogs.com/dyufei/archive/2009/11/11/2573975.html CUBE 运算符生成的结果集是多维数据集.多维数据集是事实数据(即记录 ...
- SharePoint服务器将连接配置数据库的连接字符串保存在什么地方?
经常有人问我这个问题,SharePoint服务器将连接配置数据库的连接字符串保存在什么地方?虽然其他SharePoint服务器场设置都是保存到了配置数据库里面,但连接配置数据库本身的连接字符串,肯定是 ...
- POJ 2115 C Looooops(扩展欧几里得)
辗转相除法(欧几里得算法) 时间复杂度:在O(logmax(a, b))以内 int gcd(int a, int b) { if (b == 0) return a; return gcd(b, a ...
- 8-15-Exercise
8-15-小练 这次的题目......只觉得泪奔啊......T T A.HDU 1042 N! 因为0<=n<=1000,故一定要用数组或字符串[同样因为n<=1000故用数组 ...
- Robotium学习笔记二
一. 控制测试用例的执行顺序 采用TestSuit方式来控制每条Case的运行顺序 Demo如下 public static Test suite() { TestSuite suite = new ...
- (一)Redis初学教程之安装篇
1.下载windows下Redis服务安装程序(有32位的和64位的,识操作系统安装) 下载地址:https://github.com/dmajkic/redis/downloads 2.安装教程(详 ...