<!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>
JS-面向对象-引用类型的数据或复杂类型的数据
最新推荐文章于 2021-02-21 03:19:48 发布