美文网首页
JS 数据类型 & 类型转换

JS 数据类型 & 类型转换

作者: Christoles | 来源:发表于2019-02-27 18:04 被阅读0次

一、数据类型

  • 数据类型的判断方法

           * 方法一:typeof
           * 1、number
           * 2、string
           * 3、boolean
           * 4、undefined
           * 5、symbol
           * 6、object
           * 7、function
    
           * 方法二:Object.prototype.toString.call(data);
           * data:你要判断的变量
    
  • 数据类型2大类型

      * (1)简单数据类型 :存放在 *内存栈*。
      * 1、number => 数值类型
      * 2、string => 字符串类型
      * 3、Boolean => 布尔值 -->true false
      * 4、null => 空(连容器都没有),指对一个空对象的引用。
      * 5、undefined => 空(容器里面没有东西),指一个变量未赋值的时候,
                      js会给这个变量一个值即为undefined。
      * 6、symbol => 唯一的值
    
      * (2)复杂数据类型 :存放在 *内存堆* 中。
      * object => 对象
    


二、类型转换

 类型转换有2种:
     强制转换:就是调用js提供方法进行转换的方式。
     隐式转换:就是在特定的环境中自动转换的方式。

1. 字符串转数字

  • parseInt()
  • parseFloat()
  • Number()
parseInt和parseFloat的区别
             *  1、parseInt 是转换为整数,parseFloat转换为浮点数;
             *  2、parseInt 可以传入第二个参数,parseFloat没有第二个参数。
* 1、parseInt(),将字符串类型转换为一个整数;
              如果一个字符串不包含有数字,则转换为NaN
     parseInt(data,num) <=有两个参数
        data:你需要转换的数据
        num:该转换的数据是几进制的数据(可选)

* 2、parseFloat(),将字符串转换为小数(浮数点)

* 3、Number() 不管整数小数都转为数字,如果是非数字则返回NaN


* NaN(not a number):是一个非数字的数字(数值)类型。
* isNaN()判断一个数据是否是非数字--如果这个数据是 数字则返回false,
如果这个数据是 非数字则返回true。

使用实例:

num="0xa";
            console.log(parseInt(num,16));//10  --- 16进制转为10进制

var num1=0.1,num2=0.2,num3;num3 = num1 + num2;
            console.log((num3).toFixed(2));//输出保留2位小数的字符串

var num4 = 15;
            console.log(num4.toString());//将数字转换成字符串
            console.log(num4.toString(16));//f 16进制
            console.log(String(num4));//转换为字符串


2. 数字转字符串

  • toFixed(num) => num表示你要保留的小数点的位数
  • toString() => num表示你转换成几进制(可选,默认十进制)
  • String(data)

注意:

  • 1、这些方法不会改变原来的值,当调用这些方法的时候是会返回一个新的值给我们。
  • 2、当通过String方法来将数据转换为字符串时,会把undefined和null直接转为“undefined”和“null”, 转换其他数据类型时,其实String还是通过调用toString来转换的。
  • 3、其他类型的值转换成Boolean值;Boolean() 关于其他类型的数据转换为Boolean的时候是true还是false:
    • 3.1、空字符 => flase
    • 3.2、非空字符 => true
    • 3.3、非0数字 => true => 1
    • 3.4、0 => flase => 0
    • 坑点 3.5、空数组 => 另说
    • 坑点 3.6、空对象 => 另说

3. null 和 undefined 的区别

  • null:表示对一个空对象的引用;
      当一些变量我们不需要用的时候,js有垃圾回收(GC)机制,会自动将不需要用到的变量赋值为null;所以 通常我们需要主动销毁一个对象的时候可以赋值为null。
  • undefined:表示未赋值的变量的默认值,函数默认值,对象的属性。
console.log(typeof null);//object
console.log(typeof undefined);//undefined
                        
console.log(null == undefined);//true   比较值
console.log(null === undefined);//false 比较值和类型  其类型不同
数组:
            var obj = {};
            console.log(typeof obj.a);//undefined

4. symbol(desc) 唯一

symbol(desc):表示唯一的值
desc:对这个变量的说明,没有其他意义。

//          var syb = Symbol("描述作用");
            console.log(typeof syb);//Symbol
            console.log(syb);//Symbol()

\color{blue}{* 当symbol作为一个对象 的属性的时候。添加的时候加上中括号[...];}
\color{blue}{* 获取对象中的 symbol 属性的时候同样需要用中括号来获取,注意这个属性不需要加引号。}
定义一个对象
   --- 语法:var name = { }

  • --- 对象获取其属性是通过点(除了symbol类型的属性)或者中括号(属性名要加上引号,symbol类型除外)来实现的。
  • --- 获取对象的方法也是通过点来实现的。
            console.log(typeof obj1);
            var age = Symbol();
            var obj1 = {
                [age]:18,
                name:'bgg',
                skill:function(){
                    alert('同学,你快睡着了!');
                }
            }
            console.log(obj1);
            console.log(obj1[age]);//18
            console.log(obj1.name);//bbg
            console.log(obj1.skill());//skill加小括号

5. 数组 Array

可以通过arr[arr.length]这种方式来按顺序添加数组元素。
可以通过arr.length = 0 ;来清空数组

           arr[10] = "我是数组的第11个元素,下标值为10";//已知个数添加元素
           arr[arr.length] = "我是第12个元素";//不知个数添加元素
           arr.length = 0;//清空数组
           console.log(typeof arr);//object 数组是一个对象

相关文章

  • JS里的数据类型转换

    在js中,数据类型转换分为显式数据类型转换和隐式数据类型转换。 1, 显式数据类型转换 a:转数字: 1)Numb...

  • 2、强制数据类型转换

    数据类型转换: 在js中,数据类型的转换有两种,分别是自动转换和强制转换 自动转换: 自动转换是用JS进行某些操作...

  • javaScript中数据类型转换方法

    JS 数据类型转换 方法主要有三种 转换函数、强制类型转换、利用js变量弱类型转换。 1. 转换函数: js提供了...

  • 数据类型转换

    JS 数据类型转换 方法主要有三种 转换函数、强制类型转换、利用js变量弱类型转换。 1. 转换函数: js提供了...

  • JavaScript的显式转换和隐式转换

    js的显式转换和隐式转换都是数据类型的转换;js的数据类型是弱类型的,即可以给变量赋值为任意的数据类型,当进行运算...

  • JavaScript学习笔记.md

    学习材料————廖雪峰js教程 数据类型 ===与== == 自动转换数据类型再比较;=== 不转换类型 (更好...

  • JS隐式数据类型转换

    隐式数据类型转换介绍 前面有总结过 JS数据类型转换 Number(), toString(), parseInt...

  • ECMAScript 之数据类型转换(上)

    前言 将数据从一种类型转换为另一种类型称为数据类型转换。 数据类型转换分为两种: 显示数据类型转换:直接调用 JS...

  • JS里的数据类型转换

    上一篇文章(JS里的数据类型)介绍了js中的数据类型。这篇主要介绍数据类型转换。 一、任意类型转字符串 转换成st...

  • JavaScript类型转换

    在js中数据类型转换一般分为两种,即强制类型转换和隐式类型转换(利用js弱变量类型转换)。 强制类型转换 即通过使...

网友评论

      本文标题:JS 数据类型 & 类型转换

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