美文网首页JavaScript_learning
JavaScript_数据类型

JavaScript_数据类型

作者: 2018_ieye | 来源:发表于2018-01-14 12:01 被阅读0次

JavaScript数据类型包括基本数据类型引用数据类型
基本数据类型:null,undefined,string number,boolean;
引用数据类型:对象类型;
不支持创建自定义类型,所有的变量都是这6种数据类型之一;


boolean类型

取值为true,false(均为小写);其它类型转换为boolean类型的取值为:

数据类型 转换为true的取值 转换为false的取值
boolean true false
string 非空字符串 空字符串("")
number 非零数值 0和NaN
object 任何对象 null
undefined 不存在 undefined

其它类型转换为boolean类型,内部使用的是Boolean();


number类型

number类型使用IEEE754格式来表示整数和浮点数,基于这种格式的浮点数计算会产生舍入误差问题。
数值取值区间[Number.MIN_VALUE ~ Number.MAX_VALUE]
可以使用boolean window.isFinity(number)检测数值是否在取值区间内;

@number取值为数值或可转化为数字的类型
@返回值boolean类型(NaN,超过取值范围的为false;其余为true)
boolean function isFinity(number){
}

如果超过范围会自动转换为正负Infinity;

number类型有一个特殊的取值NaN,它有两个特点:
一、任何设计NaN的操作都返回NaN;
二、NaN与任何值都不相等,包括NaN本身;

针对NaN以上的两个特点定义了isNaN()函数,该函数接受一个参数,内部尝试将这个参数转换为数值(window.Number()),如果不能转换则返回true;否则返回false;

其它类型转换为number类型,使用的方法是window.Number();

数据类型 转为number类型的取值
boolean true =1;false=0;
string Number("")=0;Number("23kk")=NaN;
null Number(null)=0;
object 先调用对象的valueOf ()如果返回NaN,再调用对象的toString()
undefined NaN
//12
Number("012");
//NaN
Number("12k");
//NaN
Number("k12");
//0
Number("");

string类型

其它类型转换为string类型的方法有两个toString()和String();除了null和undefined,其它类型都有toString()方法;如果不知道转换的值是否是null或undefined,可以使用String();String的转换规则如下:
1、如果值有toString()方法,调用这个方法返回相应的结果;
2、如果值是null,返回“null";
3、如果值是undefined,返回”undefined";

//"null"
String(null)
//"undefined"
String(undefined);
//"123"
String(123);
//"true"
String(true);
//"[object Object]"
var o=new Object();
String(o);
//"[object Object]"
var o=new Object();
console.log(o.valueOf().toString());
//"123"
var n=new Number(123);
n.toString();
//"true"
var b=new Boolean(true);
b.toString();

类型转换

类型转换包括隐式转换和显式转换
隐式类型转换函数:Boolean();Number();String();Object();
除了基本类型之间的转换按照前面表格中的规则转换;基本类型转对象类型对应自己的隐式类型转换函数(null,undefined除外);
对象转基本数据类型,除了null和undefined外,转boolean类型也很明确(任何对象都转换成true,null转成false);
其它两种情形:

1、对象转数字:对象先尝试调用valueOf()方法,如果这个方法返回一个基本类型,则尝试把这个基本类型转换成数字并返回;如果没有valueOf()方法或者没有返回基本类型,尝试调用toString()方法,如果这个方法返回一个基本类型,则尝试把这个基本类型转换成数字并返回;
2、对象转字符串:对象先尝试调用toString()方法,如果这个方法返回一个基本类型,则尝试把这个基本类型转换成字符串并返回;如果没有toString()方法或者没有返回基本类型,尝试调用valueOf()方法,如果这个方法返回一个基本类型,则尝试把这个基本类型转换成字符串并返回;

//空数组转换成数字0
var arr=[];
arr.valueOf(); //[];不是一个基本类型
arr.toString(); //"";一个空字符串,是一个基本类型
Number(""); //0;空字符串被转换成为0

相关文章

  • JavaScript_数据类型

    JavaScript数据类型包括基本数据类型和引用数据类型基本数据类型:null,undefined,string...

  • JavaScript_对象

    javaScript中的对象有内置对象,宿主对象,自定义对象;内置对象:数组,函数,日期,正则表达式;宿主对象:j...

  • javascript_函数

    函数对任何语言来说都是一个核心的概念,通过函数可以封装任意多条语句,而且可以在任何地方,任何时候调用执行,...

  • javascript_入门

    document.write("xxx"); // 在html页面中 输出点东西aler...

  • javascript_进阶

    引入外部js 文件的方法 testJs.js 文件中 变量 操作符 数组 各种循环 break :退出当前循环,c...

  • JavaScript_事件

    事件 通过触发指定的行为的时候,执行代码 一、事件三要素 事件源:触发条件的元素本身 事件类型:触发条件的类型( ...

  • JavaScript_循环

    本章主要讲述循环相关语法和内容( while、do while、for )以及break和continue的使用…...

  • JavaScript_对象

    一、时间对象(Date) (一)Date对象的创建 (二)Date对象的方法 (三)设置与获取的常用方法 二、对象...

  • JavaScript_函数

    一、函数介绍 函数的作用是将特定的功能封装起来,需要使用时再进行调用,从而可以重复使用而减少冗余。 (一)函数分类...

  • JavaScript_数组

    一、 数据结构 数据结构分为: 逻辑结构、存储结构和算法。 (一)存储结构 a. 线性 栈 队列 堆 数组 …… ...

网友评论

    本文标题:JavaScript_数据类型

    本文链接:https://www.haomeiwen.com/subject/qwdkoxtx.html