美文网首页
js数据类型

js数据类型

作者: 绅士_0906 | 来源:发表于2019-07-25 11:20 被阅读0次

ECMAscript数据类型分为;
5种基本数据类型(简单数据类型或原始类型)和1种复杂数据类型。

5种基本数据类型分别是:
undefined 未定义类型
null 空类型
Boolean 布尔类型
number 数值型
string 字符串类型

1种复杂数据类型:object 对象类型

检测变量的数据类型(typeof操作符):typeof 变量名 或者 typeof(变量名)
可能返回以下类型(字符串):
"undefined" 如果这个值未定义;
"boolean" 如果这个值是布尔值;
"number" 如果这个值是数值;
"string" 如果这个值是字符串;
"object" 如果这个值是对象或null;
"function" 如果这个值是函数;

^ Undefined --未定义类型
Undefined类型只有一个值,即特殊的 undefined。

1).使用var声明变量但未赋值(未初始化)时,这个变量的值就是undefined。检测其类型也是undefined。

var a;
console.log(a);  //undefined
console.log(typeof  a);//undefined
微信截图_20190724204300.png

2).变量从未定义过,检测其类型为undefined,值报错。

console.log(a);  //报错:a is not defined
console.log(typeof  a);//undefined
微信截图_20190724204300.png

^ Null--空类型
Null类型是第二个只有一个值的类型,这个特殊值是null。null值表示一个空对象指针。
Null是特殊的对象类型:object。

var a = null;
    console.log(a);//null
    console.log(typeof a);//object
微信截图_20190724204300.png

实际上,undefined值是派生子null值的,因此ECMA-262规定他们的相等性测试要返回true。

console.log(undefined == null);//true
微信截图_20190724204300.png

^ Boolean --布尔类型
Boolaen类型是ECMAScript中使用的最多的一种类型。
Boolean类型只有两个值:true(真)/flase(假)。

调用转型函数:Boolean()可以将ECMAScript中所有类型的值都转换城相应的布尔值。

var a = 'hello world';
    console.log(Boolean(a));//true
微信截图_20190724204300.png 微信截图_20190724204300.png

1).除0和NaN之外的所有数字,转换为布尔型都是true。
2).除" "之外的所有字符,转换为布尔型都为true。
3).null和undefined转换为布尔型为false。

总结:转换为false的值只有6个:fslae本身;" "(空字符串);0;NaN(非数值);null;undefined。

^ Number--数值类型
整数 : 100、13、5、33
浮点数值(有些语言中称为双精度数值) :1.2 3.1415

[图片上传中...(微信截图_20190724204300.png-2c27df-1563975423037-0)]
*NaN:not a Number 不是一个数字。特殊的数值类型。
表示一个本来要返回数值的操作数 未返回数值的情况。

NaN特点:
1).任何涉及NaN的操作都会返回NaN。
2).NaN与任何值都不相等,包括NaN本身。

console.log(NaN == NaN);//falsa
微信截图_20190724204300.png

isNaN(参数):判断参数是否 “不是数值”。如果是,数值返回false,不是数值返回true。

console.log(isNaN(NaN));//true
    console.log(isNaN(10));//false (10是一个数值)
    console.log(isNaN('10'));//false (可以转换为数值10)
    console.log(isNaN('hello'));//true (不能转换为数值)
    console.log(isNaN(true));//false (可以被转换为数值1)
微信截图_20190724204300.png

*数值转换:有三个函数可以把非函数转换为数值:
1).Number()
2).parseInt()
3)parseFloat()

**Number():转型函数Number()可以用于任何数据类型。
Number(变量/变量名)

console.log(Number(true))//1
    console.log(Number(false))//0
    console.log(Number(null))//0
    console.log(Number(' '))//0
    console.log(Number('123'))//123
    console.log(Number(3.14))//3.14
    console.log(Number(undefined))//NaN
    console.log(Number('11zbf'))//NaN
微信截图_20190724204300.png

**parseInt()和parseFloat()这两个函数专门用于吧字符串转换成数值。

parseInt():从第一位起取到整数部分;

console.log(parseInt('123holle'))//123
    console.log(parseInt(' '))//NaN (区别:Number(' ') //0)
    console.log(parseInt(3.14))//3
    console.log(parseInt('  11zbf'))//11
微信截图_20190724204300.png

parseFloat():从第一位起取到小数部分(只识别第一个小数点),只解析十进制数。

console.log(parseFloat('123holle'))//123
    console.log(parseFloat(3.14))//3.14
    console.log(parseFloat('5.21.22'))//5.20
微信截图_20190724204300.png

^ String 字符串类型。
字符串可以由 双引号或单引号表示。

var a = "hello world";
var a = 'hello world';

查看字符串的长度:length属性

var a = 'hello world';
    console.log(a.length);//11
{78C08DD0-90A9-40CB-A792-34C4CEE30556}_20190725084735.jpg

查看字符串相应位置的字符。

var a = 'hello world';
    console.log(a[1]);//e
{78C08DD0-90A9-40CB-A792-34C4CEE30556}_20190725084735.jpg

注意 :在字符串中的每个元素占据了字符串的位置。第一个元素的索引为0,下一个是索引1,依此类推。字符串的长度是它的元素的数量。

转换字符串的两种方法:

  1.    .toString()
    

数组、布尔值、对象和字符串值都有toString()方法。
但nul和undefined没有。

var a = [1,2,3,4];
console.log(a.toString());

2).String(变量)
强转函数,可以转化任何类型的值。

console.log(String(123));//'123'
    console.log(String(3>4));//'false'
    console.log(String(3<4));//'true'
    console.log(String(null));//'null'
    console.log(String(num1));//'undefined'
{78C08DD0-90A9-40CB-A792-34C4CEE30556}_20190725084735.jpg

"+"也可以把某个值转换为字符串,也可以拼接多个字符串。

var a = 11 + ' ';//'11'
    var b = 'hello' + 'world';//'hello world'

^ Object --类型:ECMAScript中的对象其实就是一组数据和功能的集合。

var a = {};//对象字面量方法创建
    var a = new Object();//构造函数方法创建  

相关文章

  • 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/zcgflctx.html