JavaScript 中的所有事物都是对象:字符串、数值、数组、函数...

此外,JavaScript 允许自定义对象。

JavaScript 对象

JavaScript 提供多个内建对象,比如 String、Date、Array 等等。

对象只是带有属性和方法的特殊数据类型。

在 ECMAScript 中,不能访问对象的物理表示,只能访问对象的引用。每次创建对象,存储在变量中的都是该对象的引用,而不是对象本身。

本地对象

ECMA-262 把本地对象(native object)定义为“独立于宿主环境的 ECMAScript 实现提供的对象”。简单来说,本地对象就是 ECMA-262 定义的类(引用类型)。它们包括:

  • Object
  • Function
  • Array
  • String
  • Boolean
  • Number
  • Date
  • RegExp
  • Error
  • EvalError
  • RangeError
  • ReferenceError
  • SyntaxError
  • TypeError
  • URIError

内置对象

ECMA-262 把内置对象(built-in object)定义为“由 ECMAScript 实现提供的、独立于宿主环境的所有对象,在 ECMAScript 程序开始执行时出现”。这意味着开发者不必明确实例化内置对象,它已被实例化了。ECMA-262 只定义了两个内置对象,即 Global 和 Math (它们也是本地对象,根据定义,每个内置对象都是本地对象)。

宿主对象

所有非本地对象都是宿主对象(host object),即由 ECMAScript 实现的宿主环境提供的对象。

所有 BOM 和 DOM 对象都是宿主对象。

var obj = {
a:{
name : "maoguotao",
age : 18,
sex : 'M',
},
b:{
name : "maoshuqin",
age : 18,
sex : 'M',
},
c:{
name : "MGT360124",
age : 18,
sex : 'M',
title : {
job:"班长"
}
}
}; //递归遍历对象
var arr = [];
function f( obj ) {
for( var i in obj ) {
if ( typeof obj[i] === "object" ) {
f ( obj[i] );
}else{
arr.push( obj[i] );
}
}
} f( obj ); console.log(arr);//["maoguotao", 18, "M", "maoshuqin", 18, "M", "MGT360124", 18, "M", "班长"]

最新文章

  1. PL/SQL Developer连接本地Oracle 11g 64位数据库
  2. hdu-5988 Coding Contest(费用流)
  3. Linux下查看用户列表
  4. Android自定义Toast宽度无法设置问题解决
  5. OCA读书笔记(5) - 管理ASM实例
  6. 18.app后端如何实现LBS
  7. emacs常用指令
  8. 软件测试面试-必掌握的 Linux常用命令大全--2.0更新版!
  9. Java Bloom filter几种实现比较
  10. leetcode — maximum-depth-of-binary-tree
  11. 【编辑器】sublime 标题栏中文乱码问题
  12. ES2018正则表达式更新
  13. NET Core微服务之路:SkyWalking+SkyApm-dotnet分布式链路追踪系统的分享
  14. 数位DP模板详解
  15. PHP:第一章——PHP中的魔术常量
  16. ASP.NET MVC 5 开发环境配置
  17. SpringData_Repository接口概述
  18. Linux安装imagick扩展出现错误:configure: error: not found. Please provide a path to MagickWand-config or Wand-config program.
  19. Python接口测试实战1(下)- 接口测试工具的使用
  20. C++类成员空间分配和虚函数表

热门文章

  1. Centos7安装升级Ruby和集群搭建参考
  2. Centos7安装RocketMQ4.4
  3. SQL函数 Convert,dateadd
  4. tar/gzip/zip文件打包、压缩命令
  5. python paramiko模块:远程连接服务器
  6. Windows navcat 连接虚拟机mysql
  7. Jmeter插件介绍
  8. 【POJ2152】Fire
  9. 炸弹:线段树优化建边+tarjan缩点+建反边+跑拓扑
  10. python实例31[生成随即的密码]