Js的几种数据类型的介绍

说明:根据容器能够存储哪些数据,进行了分类,分为如下几类:

(1)字符串类型

    JavaScript的字符串类型的数据,通过引号定义的(单引号、双引号),而且单引号、双引号没有区别

<script type="text/javascript">
        var box = 'this is string';
        var v2 = "box";
        console.log(box);
        console.log(v2);

        //如果是字符串解析变量,就得通过字符串拼接
        var v3 = "this is "+v2;
        console.log(v3);
    </script>

(2)数值类型

    说明:在JavaScript中小数、整数都是数值类型

 <script>
        var v1 = 100;
        var v2 = 3.14514;

        //输出变量的类型:typeof()
        console.log(typeof(v1)); //number
        console.log(typeof (v2));//number

        var str = 'hello';
        var result = parseInt(str);
        console.log(result);//NaN

        //isNaN()用来判断是否不是一个数值,如果是数字就返回false,
        //不是返回true
        console.log(isNaN(result));//TRUE
    </script>

(3)布尔类型

布尔类型用来保存一些状态,或者对立的一对数据,例如:

      开、关

      是、否

      对、错

      而且布尔类型通常是用来作为条件判断的

       在PHP中 ’0’ 、[] 被转换成false

      在JavaScript中,’0’、[] 会被转换成true

      如何将数据类型进行强制转换呢?Boolean()函数

<script>
        var str = '0';
        var arr = [];

        var res1 = Boolean(str);
        var res2 = Boolean(arr);

        console.log(res1);//true
        console.log(res2);//true
    </script>

(4)函数类型

     说明:为什么说函数也是一个数据类型,因为我们可以定义变量保存函数

   函数的写法:

 <script>
        var f1 = function () {

        }

        function f2() {

        }

        console.log(typeof (f1));//function
        console.log(typeof (f2));//function
    </script>

    说到函数,不得不提的就是变量的作用域:

    在JavaScript中,函数外部定义的变量就是全局变量,可以在脚本的任何地方使用,如果在函数内部定义的变量,就是局部变量,只能在函数内使用

补充:如果在函数内部声明变量时,没有使用var关键字,表示该变量就是全局的变量

 <script>
//        var f1 = function () {
//
//        }
//
//        function f2() {
//
//        }
//
//        console.log(typeof (f1));//function
//        console.log(typeof (f2));//function
        //全局变量,可以在函数内外部使用
        var v1 = 'global';

        //通过function关键字定义函数
        function f2() {
            //如果局部范围定义了函数,就不在去全局作用域查找
            console.log(v1);//undefined
            var v1  = 'function';
            console.log(v1);//function
            v3 = 'this is v3';//全局变量,加上var关键字变为局部变量
        }
        f2();
        console.log(v3);//this is v3
    </script>

变量的作用域链:

说明:当我们在函数内部访问一个变量时,会先在函数内部查找,如果没有找到,则去上一级作用域查找,这个查找的过程就称之为作用域链

      JavaScript中除了形参、实际参数之外,还可以通过arguments对象进行管理

      第一个参数保存到arguments数组的第一个元素,第二个参数会保存到arguments数组的第二个参数上........

    

function getSum(a,b) {
            return a+b;
        }
        
        function Sum() {
            console.log(arguments[0]);
            console.log(arguments[1]);
            console.log(arguments[2]);
            var sum = 0;
            for ( var i = 0 ;i<arguments.length;i++ ) {
                sum += arguments[i];
            }
            return sum;
        }
        var result = Sum(1,3,5,7,9,2,4,6,8);
        console.log(result);

5)数组类型

  

    上面学习的4个类型,只能用来保存一个值;

     var str = ‘hello’;   var num = 100;

     如何让一个变量保存多个值?使用数组、对象实现,所以我们也称数组、对象为复合类型的数据

     定义数组,有2种方式:

     1:new Array()

     2:快捷语法:[]

   

 <script>
        var arr = new Array('zhangSan','lisi','wangwu');

        //简洁的语法
        var arr = [1,3,5,7,9];
        console.log(arr);
    </script>

数组的遍历:

方法1:通过for循环遍历

 <script>
        var arr = new Array('zhangSan','lisi','wangwu');
//
//        //简洁的语法
//        var arr = [1,3,5,7,9];
//        console.log(arr);
        for(var i=0;i<arr.length;i++ ){
            console.log(i);
            console.log(arr[i]);
        }
    </script>

  方法2:通过for...in循环

  每遍历一次,将该元素的下标赋值给i变量

    <script>
        var arr = new Array('zhangSan','lisi','wangwu');
        for( var a in arr ){
            console.log(a);
            console.log(arr[a])
        }
    </script>

6)对象类型

    数组只能定义索引数组,如果保存一些关联类型的数据,请使用对象

   对象就是一些属性、值得集合

  1.  方法1:通过构造器创建对象

    构造器,其实就是一个普通的函数,只是当我们以new的形式调用该函数时,就会生成一个对象,这个时候,我们称之为构 造   函数、或者构造器

    在构造器(构造函数内部),通常使用this指向当前对象

<script>
        function Snake() {
            this.name = '小青';
            this.color = 'green';
            this.eat = function () {
                console.log('能吃人');
            }
        }
        var result = new Snake();
        //访问对象的成员
        console.log(result.name);
        //访问对象的方法
        result.eat();
    </script>

  方法2:快捷语法:{}字面量

     JavaScript object notation,JavaScript对象表达法

    字面量语法格式:

  {

    属性名:属性值,

    属性名:属性值,

     方法名:function(){}

    }

 <script>
        var Game = {
            name:'打蜜蜂',
            fire:function () {
                console.log('发射子弹');
            }
        };
        console.log(Game.name);
        Game.fire();
    </script>

对象成员的访问:

访问对象的成员:可以通过 . 点语法,也可以使用[]语法,访问对象的成员

而且有时候,我们还必须使用[]的语法访问对象成员,例如:

<script>
        function Snake() {
            this.name = '小青';
            this.color = 'green';
            this.eat = function () {
                console.log('能吃人');
            }
        }
        var result = new Snake();
        for ( var i in result ) {
            console.log(result[i]);
        }
    </script>

7)null类型

    null,指的是一个空对象的指针,可以理解为空对象的占位符

    这里是一个对象,但是里面什么也没有,还是空的

8)undefine类型

    一个函数没有返回值,或者声明了变量,但是未初始化值,他就是undefined

欢迎访问:https://www.tiedongit.com/

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值