JS 中的 Object从本质上看,Object 是一个构造函数,用于创建对象。
console.dir(Object); //ƒ Object()
var obj = new Object(1); obj instanceof Object// true
console.log(obj); //Number {1}
var obj= Object(1) obj instanceof Object// true
console.log(obj); //Number {1}
JavaScript 中的对象分为4种:自定义对象(ECMAScript) 、内置对象(ECMAScript)、 浏览器对象(BOM)、Dom对象。
自定义对象 、内置对象是JS 基础内容,属于 ECMAScript; 浏览器对象属于 JS 独有的, JS 的内置对象就是指 JS 语言自带的一些对象,这些对象供开发者使用,并提供了一些常用的或是最基本而必要的功能(属性和方法),内置对象最大的优点就是帮助开发者快速开发。
附:Javascript / JScript,ActionScript等脚本语言都是基于ECMAScript标准实现的。所以,ECMAScript实际上是一种脚本在语法和语义上的标准。实际上JavaScript是由ECMAScript,DOM和BOM三者组成的。 所以说,在JavaScript / JScript和ActionScript中声明变量,操作数组等语法完全一样,因为它们都是ECMAScript。但是在操作浏览器对象等方面又有各自独特的方法,这些都是各自语言的扩展。因此,ECMAScript和JavaScript的关系是,ECMAScript是JavaScript遵循的标准,JavaScript是ECMAScript的一种实现。
JS常用的内置对象有:1.Math对象2.Date对象 3.Array对象 4.String对象
javascript由三部分组成:
(1)ECMAscript语法 ,js语言核心部分,描述了该语言的语法和基本对象
(2)DOM (文档对象模型) :操作DOM 元素
(3) BOM (浏览器对象模型):可以对浏览器窗口进行访问和操作,比如:弹出框, 控制浏览器跳转, 获取分辨率。
浏览器对象:可以使我们通过JS来操作浏览器,在BOM中为我们提供了一组对象,用来完成对浏览器的操作。JS浏览器对象只包括window对象以及window下的history、document和location等子对象:
1.window:代表的是整个浏览器的窗口,同时它也是网页中的全局对象。(其他对象是Window的子对象)
2.Navigator:代表的是当前浏览器的信息,通过该对象可以来识别不同的浏览器。
3.Location:代表当前浏览器的地址信息,通过该对象可以获取地址信息,或者操作浏览器跳转页面。
4.History:代表浏览器的历史纪录,可以通过该对象来操作浏览器的历史纪录。由于隐私原因,该对象不能获取到具体的历史纪录,只能操作浏览器向前或向后翻页,而且该操作只在当此访问时有效
5.Screen:代表我们用户屏幕的信息,通过该对象可以获取到用户的显示器的相关信息。
6.document:document 是 window 的一个子对象属性
7.window子对象frames:一个页面中的所有子框架以集合的形式作为window对象的属性提供,window.frames就表示该页面内所有子框架的集合,要引用一个子框架,可以使用的语法为window.frames[“frameName”]; window.frames.frameName
8.scroll:浏览器的滚动条
2-8这些BOM中的对象在浏览器中作为window对象的属性(子对象)保存的,可以通过window对象来使用,也可以直接使用。
console.log(document===window.document); //true
alert(3)等价于window.alert(3)
alert和document都是window对象的属性(子对象)
windows对象的alert提示框、confirm确认框、prompt输入框,windows对象没有message提示框,饿了么用的是封装好的message对象
区别:alert只有确定按钮,纯纯的提示,confirm有确认以及取消按钮,prompt有输入框和确认以及取消按钮,其他提示信息三个对象都相同
window和document的区别:
1、window 指窗体。document 指页面。document 是 window 的一个子对象。
2、用 户 不 能 改 变 document.location( 因 为 这 是 当 前 显 示 文 档 的 位 置 ) 。 但是可以改变
window.location ( 用 其 它 文 档 取 代 当 前 文 档 ),因为window对象有location方法, 而document对象没有location方法