zoukankan      html  css  js  c++  java
  • javascript中的数据类型

    一、数据类型概述

    在javascript中数据类型可分为两大类:基本数据类型和复杂数据类型。可用typeof()来查看数据类型。

    基本数据类型:null、undefined、number,string,boolean。

    复杂数据类型:object。

    其中对象是object,array是object,function是object,万物皆是对象。

    二、数据类型的转化

    1、强制转换或显示转换

    ①、Number()

    Number()方法,先看完整个内容,然后整体去转换数字。

    如:

    console.log(Number("11"));//控制台输出的是:11
    
    console.log(Number("11aaa"));//控制台输出的是:NaN
    
    console.log(Number(["2"]));//控制台输出的是2,此时得到的是数组第0个的值
    
    console.log(Number(["2","3"]));//控制台输出的是NaN
    
    console.log(Number(true));//控制台输出的是1,false输出的是0

    ②、parseInt()方法,从左向右去查看需要转换的目标,如果碰到一位是非数字的,结束执行,返回之前的数字。不可识别小数点。

    如:

    console.log(parseInt("111aaa"));//控制台输出111
    console.log(parseInt("1.11aa"));//控制台输出1

    ③、parseFloat()方法,从左向右去查看需要转换的目标,如果碰到一位是非数字的,结束执行,返回之前的数字。可识别小数点。

    如:

    console.log(parseFloat("1.111aaa"));//控制台输出1.111

    ④、String()

    如:

    console.log(String(111));//控制台输出111

    ⑤、toString()

    如:

    var str=111;
    console,log(str.toString());//控制台输出111

    ⑥、Boolean()方法 布尔值转换  它对空字符串的转换为false,非空格字符串则为true。真:true,非空字符串,非0数字,非空对象,假: false, 空字符串,0,NaN,null,undefined。

    如:

    console.log(Boolean("111"));//控制台输出true
    console.log(Boolean(""));//控制台输出false
    console.log(Boolean(undefined));//控制台输出false
    console.log(Boolean(NaN));//控制台输出false
    console.log(Boolean(111));//控制台输出true

    2、隐示转换

    ①、当出现+号时,当加号左右两测有一位是字符串是,会把另外一也转成字符串;两边没有字符串时,优先尝试把左右两侧都转换成数字,如果不能转换成数字就转换成字符串进行连接;

    如:

    console.log("1"+1);//控制台输出11
    console.log(1+1);//控制台输出2
    console.log(1+true);//控制台输出2
    console.log(1+false);//控制台输出1

    ②、其他运算符

    -,*,/,% 这些运算符都是只有数字运算的功能,所以在使用的时候,都会去把其他类型转换成数字。

    如:

    console.log(3 % "2");//控制台输出0,先把“2”转换成2,再进行计算

    ③、关系运算符

    <、>、<=、>=、==、!=、===、!==
    比较后都会返回布尔值

    == 和 != 会进行隐式类型转换,把左右两侧的数据类型转换成一样的之后,再去比较
    ===和!== 进行比较的时候,也会比较数据类型,数据类型不一样的话,即使值一样,也是false.

    && 与、 || 或 、! 否  返回的结果都是 true和 false。

    三、值类型与引用类型

    在JavaScript中值类型和引用类型有哪些呢?

    值类型:number、boolean、null、undefined、string

    引用类型:object、array、function

    1、所谓的值类型我们可以理解成复印件,每次要使用都是复印一份新得出来,不会对原件造成影响。

    如:

    var str1 = "hello world!";
    var str2 = str1;
    str2="hi world!";
    console.log(str1);//控制台输出hello world!
    console.log(str2);//控制台输出hi world!

    值类型传递变量时其实是分配了一个新的空间,改变值互不影响。

    2、所谓的引用类型我们可以理解成原件,每次使用都是使用同一个东西,一旦值发生改变就会对所有有使用的地方发生影响。

    如:

    var str1 = ["hello world!"];
    var str2 = str1;
    str2[0]="hi world!";
    console.log(str1[0]);//控制台输出hi world!
    console.log(str2[0]);//控制台输出hi world!

    在示例中,我们可以看到我们只是改变了str[0]的值,str1[0]的值也随之改变,这便是引用类型的特性。

  • 相关阅读:
    图标字体IcoMoon 使用
    JS 寻找孩子并打印路径
    为什么要用on()而不直接使用click
    setTimeout 虚假的“异步”
    解决Ajax.BeginForm还是刷新页面的问题
    .net生成Excel,并下载
    C#判断文件是否正在被使用
    sql为数字添加千分位(也就是钱的格式)
    HotelIInventory项目小结
    一步一步实现FormsAuthentic验证登录
  • 原文地址:https://www.cnblogs.com/hongxuquan/p/9377496.html
Copyright © 2011-2022 走看看