欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JS数据类型

程序员文章站 2022-06-20 10:41:33
...

一、JS有三种数据类型,分别是: 

  • 基本数据类型

String  字符串

number  数字类型

boolean  布尔类型(true/false)

null  空对象

undefined  未定义类型

null跟undefined的区别:null(var arr1 = null;)表示“什么都没有”,尚未存在的对象(函数),表示一个空对象引用,但是(typeof arr1)返回object。undefined(var arr2;)表示一个没有设置值的变量(变量尚未初始化)。(typeof arr2)undefined.

  • 复杂数据类型

object

  • 引用数据类型

object  对象  var obj = {name:"wxt",id:19001}

array  数组  var arr = ['red','green','blue']

function  函数  var foo1 = function(){}  ||  function foo2(){}

二、变量声明提升

在函数作用域或全局作用域中通过关键字var声明的变量,无论实际上是在哪里声明的,都会被当成在当前作用域顶部声明的变量,这就是我们常说的提升机制,也就是变量声明变量提升。

<script>
        //变量声明提升
        console.log(height);  //undefined
        //声明一个变量
        var height = "100px"; //100px;
        console.log(height);
        

        var age = 100;
        function fn1(){
            console.log(age);  //100
        }
        function fn2(){
            var age = 99;
            console.log(age);   //99
        }
        function fn3(){
            console.log(age);   //undefind(就近原则)  变量声明提升(名字提升了,值没有了)
            var age = 99;
        }

        /*总结:
           1.0 先声明变量在引用
           2.0 防止重复声明
        */
       </script>

三、数据类型的转换

  • 转字符串类型

num = 100;   //number

num.toString()  ||  String(num)    //string

  • 转数字类型

str = 100px;     //string  

parseInt(str)  ||  parseFloat     //100  number

Number(str)    //NaN  number

用Number转字符串为数字类型的时候只用当字符串内容是纯数字的时候才能转,不然就会返回NaN(No a Number)。

  • 隐式转换

隐式转换:通过运算符实现数据的类型转换(+  -  *  /  ==  ===),比如:

num1 = 10;  //number

str1 = 10 + ""; //string

str2  = "100";  //string

num2 = str2-0;   //number

false == 0

true == 1

[] == false

附上菜鸟上的一张表,展示使用不同的数值转换为数字(Number), 字符串(String), 布尔值(Boolean):

JS数据类型

JS数据类型

 

相关标签: JavaScript数据类型