美文网首页
JS数据类型

JS数据类型

作者: 小唱同学 | 来源:发表于2019-06-25 22:16 被阅读0次

-基本数据类型:结构简单,存储在栈内存里面,操作的是值

①,’字符串 string : '' "" 'a' "a" 'asdfdf'

    字符串天生自带一个length属性,表示字符串长度(字符个数)

    通过字符串的索引值(下标)可以访问字符串中指定字符 索引值范围:0 - (length-1)

    var str = 'hello world!';

    console.log(str.length); //12

    console.log(str[0]);  //'h'

②,数字 number : 正数 负数 小数 NaN(not a number)

    js小数之间运算会有精度损失,一般应当避免小数之间直接运算

    console.log(0.1+0.3); //  0.30000000000004

    NaN:(非数值):任何涉及NaN的操作都会返回NaN,NaN与任何值都不相等,包括其本身,他是数字类型

③,布尔 boolean : true真 false假

④,null 空

1、null值表示一个空对象指针

2、如果定义的变量准备在将来用于保存对象,那么最好将改变量初始化为null而不是其他值。

⑤,undefined 未定义(未初始化)

说明:undefined值是派生自null值的,所以undefined==null的返回结果是true。

2-引用数据类型:结构复杂,存储在堆内存里面,操作的是地址

对象 object { key1:val,key2:val} {}空对象

数组 array [1,2,3,'aaa'] []空数组

数组天生自带一个length属性,表示数组长度

通过数组的索引值(下标)可以访问数组中的一项 索引值范围:0 - (length-1)

    var ary = [2,3,4,5];

    console.log(ary.length);  //4

    console.log(ary[0]); //2

正则 regExp /^1$/

函数 function function(){ }

(二) 检测数据类型

1-typeof 通常用来检测基本数据类型

  null 检测出来结果是object , 因为null在js中被定义为一个空对象的引用

  [] , {} ,/123/ 检测结果都是object

  console.log( typeof true);  //boolean

  console.log( typeof undefined);  //undefined

  console.log( typeof function(){});  //function

2-instanceof 通常用来检测引用数据类型,判断某个对象是否属于某个类的实例

  console.log([] instanceof Array);  //true

  console.log(/123/ instanceof RegExp); //true

(三) 数据类型转换

1- isNaN() 检测一个值是否不是一个有效数字 , 是数字返回false,不是数字为true

对接收的数值,先尝试转换为数值,在检测是否为非数值(隐式调用Number()方法把值转换成number类型再判断)

console.log(isNaN('12')); //false

console.log(isNaN(true));  //false

2- Number(); 强制转换成number类型

   Number( )可以用于任何数据类型,如果是转换不了的话,就会是NaN

    console.log(Number(false));  //0

    console.log(Number(null));  //0

    console.log(Number([12]));  //12

3- parseInt(); 转换成整型的数字 

从左到右查找数字,直到碰到非数字就停止查找,把已经找到的数字返回

parseInt()方法首先查看位置0处的 字符,判断它是否是个有效数字;如果不是,该方法将返回NaN,不再继续执行其他操作。但如果该字符是有效数字,该方法将查看位置1处的字符,进行同样的 测试。这一过程将持续到发现非有效数字的字符为止,此时parseInt()将把该字符之前的字符串转换成数字。例如如果要把字符串 "1234blue "转换成整数,那么parseInt()将返回1234,因为当它检测到字符b时,就会停止检测过程

console.log(parseInt('12px345'));  //12

4- parseFloat(); 转换成浮点型的数字

比parseInt()多识别一个小数点

parseFloat:parseFloat()与parseInt()方法的处理方式相似,从位置0开始查看每个字符,直到找到第一个非有效的字符为止,然后把该字 符之前的字符串转换成数字。不过,对于这个方法来说,第一个出现的小数点是有效字符。如果有两个小数点,第二个小数点将被看作无效的, parseFloat()方法会把这个小数点之前的字符串转换成数字。这意味着字符串 "22.34.5 "将被解析成22.34。

console.log(parseFloat('12.5px345')); //12.5

说明:除了第一个小数点外,parseFloat()与parseInt()第二个区别在于它始终会忽略前导0

如果字符串中包含有效的十六进制格式,parseInt("0xf")将 "0x" 转换为相同大小的十进制数值,而parsefloat("0xf")只会输出0

5- Boolean(); 转换成布尔值

1、除了0之外的所有数字,转换为布尔型都为true:

2、除了""之外的所有字符,包括" ",转换为布尔型都为true

3、NaN/null/undefined转换为布尔型都为false:

6- toString()与 String()转换成字符串

语法:str.toString();

功能:将str转换为字符串

返回值:str的一个副本

参数:str是要转换的内容,可以使数值,布尔值,对象和字符串

说明: toString() 不能操作null和undefined ,会报错,在不知道要转换的值是不是null或undefined的情况下,可以使用string()函数,它能够将任何类型的值转换为字符串。

    //数组串字符串:去掉括号,加引号                  console.log([1,2,3].toString()); // '1,2,3'

    //所有对象转成字符串结果都是 '[object Object]'          console.log({name:'ujiuye'}.toString()); // '[oject Object]'

   可以用string()函数来把null和undefined转换成字符串

   console.log(String(null)); // 'null'

相关文章

  • JS的类型转换

    JS的数据类型: 首先, JS的数据类型分为基本数据类型和引用数据类型基本数据类型: string number ...

  • js对象数组的深拷贝方法以及其他方法

    js判断数据类型是否为对象 js判断数据类型是否为数组

  • 2022前端面试题汇总(附答案)更新中

    JS相关 1.JS中的数据类型 (1)数据类型分为基本数据类型和引用数据类型基本数据类型:number、null、...

  • js深拷贝

    在写深拷贝之前,有必要说一下js的数据类型 一.js数据类型 1.1 分类 js数据类型分为两类:原始数据类型、引...

  • js数据类型

    JS基本数据类型和引用数据类型(JS 基本数据类型和引用数据类型的区别及浅拷贝和深拷贝) 再讲 js 的基本数据类...

  • js入门知识点

    * 基础知识 * js的输出方式 * js的组成 * js的命名规范 * 数据类型 * number数据类型 * ...

  • js常见知识点

    一、 js基本数据类型和引用数据类型 js基本数据类型:Number、String、Boolean、Null、un...

  • JS数据类型判断

    js中可以通过typeof来判断基本的数据类型。 数据类型 js的数据类型分为基本数据类型和引用数据类型,基本数据...

  • JS 高频面试题汇总

    # 说一下JS 中的数据类型有哪些 JS 数据类型包括 基本 / 引用 / 特殊 数据类型: 基本数据类型:Str...

  • 浅拷贝和深拷贝

    JS数据类型 在JS语言中,数据类型分为以下两种: 基本数据类型:null undefined number st...

网友评论

      本文标题:JS数据类型

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