美文网首页JavaScript
JavaScript核心 数据类型

JavaScript核心 数据类型

作者: h2coder | 来源:发表于2021-07-04 18:53 被阅读0次

介绍

  • 数据类型指的就是字面量的类型,在JS中有6种数据类型
    • String 字符串
    • Number 数值
    • Boolean 布尔值
    • Null 空值
    • Undefined 未定义
    • Object 对象
  • 其中,String、Number、Boolean、Null、Undefined、Object属于基本数据类型,而Object属于引用数据类型

String 字符串

  • 在JS中,字符串需要使用引号来引起来
  • 使用双引号或单引号都可以,但是不要混着用
  • 引号不能嵌套,双引号不能放双引号,单引号不能放单引号
var str = "hello";
//var str = 'hello';
str = '我说:"今天天气真不错"';

转义符

  • 在字符串中,我们可以使用\作为转义字符,当表示一些特殊符号时,可以使用\进行转义。
    • " 表示"
    • ' 表示'
    • \n 表示换行
    • \t 制表符,相当于Tab键
    • \ 表示\
var str = '我说:\"今天天气真不错\"';

//换行符:\n
str = '我说:\"今天\n天气真不错\"';

//制表符:\t
str = '我说:\"今天\t天气真不错\"';

//输出\,自己转义自己即可
str = "\\";

//输出变量str
alert(str);

//输出字面量 字符串str
alert("str");

var str2 = "hello";
str2 = "你好";
str2 = 3;

Number 数值

  • 在JS中,所有的数值都是Number类型,包括整数、浮点数(小数)
//数字
var a = 123;
a = 456.789;

//这个是字符串
var b = "123";
  • JS中,可以使用运算符typeof,来检查一个变量的类型
  • 语法:typeof 变量
  • 检查字符串时,返回string,检查数值时,返回number
//number
console.log(typeof a);
//string
console.log(typeof b);

最大值、最小值

  • JS中,可以表示的最大值和最小值
    • Number.MAX_VALUE,数字的最大值,:1.7976931348623157e+308
    • Number.MIN_VALUE,大于0的最小的最小值:5e-324
//最大值,1.7976931348623157e+308
var a = Number.MAX_VALUE;
//最小值,5e-324
var b = Number.MIN_VALUE;

正无穷、负无穷

  • 如果使用Number表示的数字,超过了最大值,则会返回一个Infinity
    • Infinity:表示正无穷
    • -Infinity:表示负无穷
    • 使用typeof检查Infinity,也会返回number
//正无穷,Infinity
var a = Number.MAX_VALUE * Number.MAX_VALUE;
//负无穷,-Infinity
var b = -Number.MAX_VALUE * Number.MAX_VALUE;
//number
typeof(Number.MAX_VALUE * Number.MAX_VALUE);

NaN

  • NaN是一个特殊的数字,表示Not a Number
  • 使用typeof检查一个NaN,也会返回number
//非数字,NaN 是一个特殊的数字,表示Not a Number
var a = "abc" * "bcd";
a = NaN;
console.log(a);
//number
typeof(NaN);

运算精度问题

  • 在JS中,整数的运算,基本可以保证精准
var c = 1865789 + 7654321;
console.log(c);
  • 如果使用JS进行浮点数运算,可能得到一个不精准的结果。所以千万不要使用JS,进行对精确度要求较高的运算
var c = 0.1 + 0.2;
console.log(c);

Boolean 布尔值

  • 布尔值,只有2个,主要用来做逻辑判断
    • true,表示真
    • false,表示假
  • 使用typeof检查一个布尔值时,会返回boolean
var bool = true;
//true
console.log(bool);
//boolean
console.log(typeof bool);

Null和Undefined

  • Null
    • Null类型的值,只有一个,就是null
    • null这个值专门用来表示一个为空的对象
    • 使用typeof检查一个null值时,会返回object
var a = null;
console.log(a);
//object
console.log(typeof a);
  • Undefined
    • Undefined(未定义)类型的值只有一个,就是undefined
    • 当声明一个变量,但是并不给变量赋值时,它的值就是undefined
    • 使用typeof检查一个undefined时,返回undefined
var b;
//undefined
console.log(b);
//undefined
console.log(typeof b);

强制类型转换

  • 指将一个数据类型,强制转换为其他类型
  • 类型转换,主要将其他数据类型,转换为 String Number Boolean

将其他的数据类型,转换为String

  • 方式一
    • 调用被转换类型的toString()方法,该方法不会影响原变量,它会将转换的结果返回
    • null和undefined,这2个值,没有toString()方法,如果调用它们的方法,会报错
//方式一:数值转字符串
var a = 123;
a = a.toString();

//布尔值转字符串
a = true;
a = a.toString();

a = null;
//a = a.toString();//报错

a = undefined;
//a= a.toString();//报错
  • 方式二
    • 调用String的()函数,并将要转换的数据作为参数传递给函数
    • 使用String()函数,做强制类型转换时:
      • 对于Number和Boolean的,对它们做转换时,实际上就是调用了toString()方法
      • 但是对于null和undefined,就不会调用toString()方法
        • 它会将null,转换为"null"字符串
        • 将undefined,转换为"undefined"字符串
//方式二:调用String()函数,来将a转换为字符串
var a = 123;
a = String(a);

a = null;
a = String(a);

a = undefined;
a = String(a);

console.log(typeof a);
console.log(a);

将其他的数据类型,转换为Number

  • 方式一
    • 使用Number()函数
    • 字符串 --> 数字
      • 字符串转数字,如果是纯数字的字符串,则直接将其转换为数字
      • 如果字符串中有非数字的内容,则转换为NaN
      • 如果字符串是一个空串,或者全都是一个空格的字符串,则转换为0
    • 布尔值 --> 数字
      • 1.true转换为1,false转换为0
    • null -> 数字 0
    • undefined --> 数字 NaN
//字符串转数据
var a = "123";//纯数字,转换为123
//a = "123abc";//内容中有非数字,转换为NaN
//a = "";//是空串,转换为0
//a = "   ";//都是空格,转换为0

//布尔值转数据
//a = true;//true转换为1,false转换为0

//null转数字
a = null;
a = Number(a);//null转换为0

//undefined转数字
a = undefined;
a= Number(a);//undefined转换为NaN

a = Number(a);
console.log(a);
  • 方式二
    • 这种方式专门用来对付字符串
    • parseInt(),把一个字符串转换为一个整数
    • parseFloat(),把一个字符串转换为一个浮点数
var a = "123px";
a = "b123";//第一个就不是数字,NaN
a = "123a456";//中间有英文,只取前边的部分,123
a = "123.567a999";//有小数点,只取小数点前的部分(整数),123

/**
* 字符串转整数
 * parseInt(),可以将一个字符串中有效的整数内容取出来,转换为Number
 *
 * 字符串转小数
 * parseFloat(),作用和parseInt()类似,不同的是它可以获取有效的小数
 */
a = parseInt(a);

a = "123.456px";//希望取出来是浮点型,使用parseFloat(),123.456
a = "123.456.789px";//123.456,后面第二个点之后都不要了,因为不是有效的了
a = parseFloat(a);

/**
* 布尔型转数字
 * 如果对非String,使用parseInt()或parseFloat()
 *  它会先将其转换为String,然后再操作,所以才会转换为NaN
 */
a = true;
a = parseInt(a);

//小数取整
a = 198.23;
a = parseInt(a);//198,对小数取整的一种方式

//number
console.log(typeof a);
//198
console.log(a);

将其他的数据类型转换为Boolean

  • 使用Boolean()函数
    • 数字 ---> 布尔
      • 除了0和NaN,其余的都是true
    • 字符串 ---> 布尔
      • 除了空串,其余的都是true
    • null和undefined都会转换为false
    • 对象也会转换为true
//数字转布尔值
var a = 123; //true
a = -123; //true
a = 0; //false
a = Infinity; //true
a = NaN; //false

//调用Boolean()函数来将a转换为布尔值
a = Boolean(a);

//空串转布尔值
a = " ";//false
a = Boolean(a);

//null转布尔值
a = null;//false
a = Boolean(a);

//undefined转布尔值
a = undefined;//false
a = Boolean(a);

console.log(typeof a);
console.log(a);

相关文章

  • JavaScript基础语法之对象

    对象 ​ 对象(object)是 JavaScript 的核心概念,也是最重要的数据类型。JavaScript 的...

  • [读书笔记]JavaScript核心概念及实践

    JavaScript核心概念及实践 基本概念 数据类型 基本: string, number, boolean, ...

  • JavaScript核心 数据类型

    介绍 数据类型指的就是字面量的类型,在JS中有6种数据类型String 字符串Number 数值Boolean 布...

  • JS基本_2018-07-09

    javascript的组成 javascript的语法 javascript的数据类型: 查看数据类型 javas...

  • (五)数据类型之对象基础

    1 概述 1.1 生成方法 对象(object)是 JavaScript 语言的核心概念,也是最重要的数据类型。 ...

  • 对象

    1.1 概念 对象(object)是 JavaScript 语言的核心概念,也是最重要的数据类型。 什么是对象?简...

  • JavaScript的数据类型如何判断

    JavaScript的数据类型如何判断 使用 Javascript 的软件项目 JavaScript数据类型一共有...

  • 08-JS中的变量和常量

    JavaScript ECMAScript(ES):规定了js的一些基础核心的知识(变量、数据类型、语法规范、操作...

  • 对象

    概述 生成方法 对象(object)是 JavaScript 语言的核心概念,也是最重要的数据类型。 什么是对象?...

  • [JS 01]JavaScript的组成部分(ECMAScrip

    JavaScript的组成部分 ECMAScript:整个JS的核心,包含基本语法、变量、关键字、保留字、数据类型...

网友评论

    本文标题:JavaScript核心 数据类型

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