JS-面向对象-引用类型的数据或复杂类型的数据


<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <script>

        // 引用类型数据指的就是各种对象。

        /* 
            原生对象(本地对象):独立于宿主环境由 ECMAScript 实现提供的对象。与宿主无关,在JavaScript(远景浏览器),jscript(IE浏览器),Nodejs(Node运行平台)等等中均有这些对象。简单来说,本地对象就是 ECMA-262 提案中定义的对象(类),在运行过程中动态创建的对象,需要使用 new 操作符。例如,Object/Array/Date/Function/RegExp/String/Number/Boolean
        */

        /* 
            内置对象(内建对象):由 ECMAScript 实现提供的,并且独立于宿主环境的对象,在 ECMASript 程序开始执行时出现,即在引擎初始化阶段就被创建好的对象。这意味着开发者不需要自己去实例化这些对象,它已经被实例化了。例如,global/Math
        */

        /* 
            宿主对象:由实现 ECMAScript 规范的宿主环境提供的对象,包含两大类:一类是宿主提供的,一类是开发者自定义的。ECMAScript 官方未定义的对象都属于宿主对象,所有非本地对象都是宿主对象。

            function Dog() {

            }
            new Dog()

        */

        // 使用字面量或直接量的形式实例化对象
        var obj = {
            name: '刘逸云'
        };

        var arr = [1, 2, 3, 4];

        function foo (x, y) {
            return x + y;
        }

        var reg1 = /greeting/img;

        // 使用构造函数的形式实例化对象
        var obj = new Object();

        var arr = new Array(1, 2, 3, 4);

        var foo = new Function('x', 'y', 'return x + y');

        var reg = new RegExp('greeting', 'img');

        var date = new Date();

        // 一下 3 种对象也被称为包装器对象
        var strObj = new String('Hello World!')
        var bolObj = new Boolean(false)
        var numObj = new Number(123)
        
        console.log(typeof str)
        console.log(typeof strObj)

    </script>
</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值