全局对象 window
ECMAScript 规定全局对象叫做 global,但是浏览器把 window 作为全局对象(浏览器先于ECMAScript出现)。 window 就是一个哈希表,有很多属性,这些属性就是全局变量。
全局变量分为两种:
一种是 ECMAScript 规定的:
global.parseIntglobal.parseFloatglobal.Numberglobal.Stringglobal.Booleanglobal.Object复制代码
一种是浏览器自己加的属性:window.alert——显示一个警告对话框,上面显示有指定的文本内容以及一个"确定"按钮window.prompt——显示一个对话框,对话框中包含一条文字信息,用来提示用户输入文字window.comfirm——显示一个具有一个可选消息和两个按钮(确定和取消)的模态对话框 window.seTimeout(function(),time)——指定时间后执行这个函数(3000表示3秒)window.history——返回上一页面window.console.logwindow.console.dirwindow.document——对文档的操作,如添加divwindow.document.createElementwindow.document.getElementById复制代码
其余API 都可以在 MDN 里找到详细的资料---window mdn
Number
var n = 1 //常用var n = new Number(1)//将1变成对象并提供相应方法,两者等价复制代码
两者内存不同
注:基本类型没有属性,只有对象才有属性
面试题1
var n = 1; n.xxx = 2; 求n.xxx
内存图如下:
答案:n.xxx = undefined
String
Boolean
面试题2
var f = false; var f2 = new Boolean(false); if(f){console.log(1)} if(f2 ){console.log(2)} 求输出结果
Object
var o1 = {}var o2 = new Object()//o1 和 o2 相等但不相同复制代码