• JavaScript中的global对象,window对象以及document对象的区别和联系


    JavaScript中的global对象,window对象以及document对象的区别和联系

    一、概念区分:JavaScript中的global对象,window对象以及document对象

    1、global对象(全局对象)

    《JS高级程序设计》中谈到,global对象可以说是ECMAScript中对特别的一个对象了,因为不管你从什么角度上看,这个对象都是不存在的。从某种意义上讲,它是一个终极的“兜底儿对象”,换句话说呢,就是不属于任何其他对象的属性和方法,最终都是它的属性和方法。我理解为,这个global对象呢,就是整个JS的“老祖宗”,找不到归属的那些“子子孙孙”都可以到它这里来认祖归宗。所有在全局作用域中定义的属性和函数,都是global对象的属性和方法,比如isNaN()、parseInt()以及parseFloat()等,实际都是它的方法;还有就是常见的一些特殊值,如:NaN、undefined等都是它的属性以及一些构造函数Object、Array等也都是它的方法。总之,记住一点:global对象就是“老祖宗”,所有找不到归属的就都是它的。

    2、window对象

    前面说了global对象是“老祖宗”,那有人该问了,你把window对象置于何地呢?对,javascript这门语言现在这么红火很大部分原因是因为W3C将它作为写页面的官方脚本语言,但别忘了js它不仅仅可以用来写页面,也就是不仅仅可以用在浏览器中。window对象是相对于web浏览器而言的,它并不是ECMAScripta规定的内置对象,内置对象的定义是:“由ECMAScript实现提供的、不依赖于宿主环境的对象,这些对象在ECMAScript程序执行之前就已经存在了。”window对象是宿主对象也就是在一定的环境中才会生成的对象(这里也就是指浏览器),而global对象是在任何环境中都存在的。window对象具体也就是指浏览器打开的那个窗口。

    3、document对象

    简单来说,document对象是window对象的一个属性,是显示于窗口内的一个文档。而window对象则是一个顶层对象,它不是另一个对象的属性。document可以理解为文档,就是你的网页,而window是你的窗口,就是你的浏览器包含的。它们俩在没有框架的情况下可以说是等同的,在有框架的情况下就要区别对待了。

    二、详解HTML中的window对象和document对象

    Window -- 代表浏览器中一个打开的窗口:

    对象属性
      window //窗口自身
      window.self //引用本窗户window=window.self
      window.name //为窗口命名
      window.defaultStatus //设定窗户状态栏信息
      window.location //URL地址,配备布置这个属性可以打开新的页面

    对象方法
      window.alert("text") //提示信息会话框
      window.confirm("text") //确认会话框
      window.prompt("text") //要求键盘输入会话框
      window.setIntervel("action",time) //每一隔指定的时间(毫秒)就执行一次操作
      window.clearInterval() //清除时间配备布置作用就是终止轮回
      window.setTimeout(action,time) //隔了指定的时间(毫秒)执行一次操作
      window.open() //打开新的窗口
      window.close() //关闭窗口

    成员对象
      window.event
      window.document //见document对象详解
      window.history
      window.screen
      window.navigator
      window.external
      -------------------------------------------------- -------------------
      window.history对象
      window.history.length //浏览过的页面数
      history.back() //后退
      history.forward() //前进
      history.go(i) //前进或后退到历史记录的第i个页面
      //i>0进步,i<0 后退
        ------------------------------------------------- -------------------
      window.screen对象
         window.screen.width //屏幕宽度
      window.screen.height //屏幕高度
      window.screen.colorDepth //屏幕色深
      window.screen.availWidth //可用宽度
      window.screen.availHeight //可用高度(除去任务栏的高度)
      -------------------------------------------------- -------------------
      window.external对象
      window.external.AddFavorite("地址","标题" ) //把网站新增到保藏夹
      -------------------------------------------------- -------------------
      window.navigator对象
      window.navigator.appCodeName //浏览器代码名
      window.navigator.appName //浏览器应用程序名
      window.navigator.appMinorVersion //浏览器补丁版本
      window.navigator.cpuClass //cpu类型 x86
      window.navigator.platform //操作体系类型 win32
      window.navigator.plugins
      window.navigator.opsProfile
      window.navigator.userProfile
      window.navigator.systemLanguage //客户体系语言 zh-cn简体中文
      window.navigator.userLanguage //用户语言,同上
      window.navigator.appVersion //浏览器版本
      window.navigator.userAgent
      window.navigator.onLine //用户否在线
      window.navigator.cookieEnabled //浏览器是否撑持cookie
      window.navigator.mimeTypes

    document对象 -- 代表整个HTML 文档,可用来访问页面中的所有元素:

    对象属性

    document.title                 //设置文档标题等价于HTML的<title>标签
    document.bgColor               //设置页面背景色
    document.fgColor               //设置前景色(文本颜色)
    document.linkColor             //未点击过的链接颜色
    document.alinkColor            //激活链接(焦点在此链接上)的颜色
    document.vlinkColor            //已点击过的链接颜色
    document.URL                   //设置URL属性从而在同一窗口打开另一网页
    document.fileCreatedDate       //文件建立日期,只读属性
    document.fileModifiedDate      //文件修改日期,只读属性
    document.fileSize              //文件大小,只读属性
    document.cookie                //设置和读出cookie
    document.charset               //设置字符集 简体中文:gb2312

    常用对象方法

    document.write()                      //动态向页面写入内容
    document.createElement(Tag)           //创建一个html标签对象
    document.getElementById(ID)           //获得指定ID值的对象
    document.getElementsByName(Name)      //获得指定Name值的对象
    document.body.appendChild(oTag)

    body-主体子对象

    document.body                   //指定文档主体的开始和结束等价于<body></body>
    document.body.bgColor           //设置或获取对象后面的背景颜色
    document.body.link              //未点击过的链接颜色
    document.body.alink             //激活链接(焦点在此链接上)的颜色
    document.body.vlink             //已点击过的链接颜色
    document.body.text              //文本色
    document.body.innerText         //设置<body>...</body>之间的文本
    document.body.innerHTML         //设置<body>...</body>之间的HTML代码
    document.body.topMargin         //页面上边距
    document.body.leftMargin        //页面左边距
    document.body.rightMargin       //页面右边距
    document.body.bottomMargin      //页面下边距
    document.body.background        //背景图片
    document.body.appendChild(oTag) //动态生成一个HTML对象

    常用对象事件

    document.body.onclick="func()"              //鼠标指针单击对象是触发
    document.body.onmouseover="func()"          //鼠标指针移到对象时触发
    document.body.onmouseout="func()"           //鼠标指针移出对象时触发

    location-位置子对象

    document.location.hash          // #号后的部分
    document.location.host          // 域名+端口号
    document.location.hostname      // 域名
    document.location.href          // 完整URL
    document.location.pathname      // 目录部分
    document.location.port          // 端口号
    document.location.protocol      // 网络协议(http:)
    document.location.search        // ?号后的部分

    常用对象事件

    documeny.location.reload()          //刷新网页
    document.location.reload(URL)       //打开新的网页
    document.location.assign(URL)       //打开新的网页
    document.location.replace(URL)      //打开新的网页
    ========================================================================
    selection-选区子对象
    document.selection
    ========================================================================
    images集合(页面中的图象):
    ----------------------------
    a)通过集合引用
    document.images                 //对应页面上的<img>标签
    document.images.length          //对应页面上<img>标签的个数
    document.images[0]              //第1个<img>标签           
    document.images[i]              //第i-1个<img>标签
    ----------------------------
    b)通过nane属性直接引用
    <img name="oImage">
    document.images.oImage          //document.images.name属性
    ----------------------------
    c)引用图片的src属性
    document.images.oImage.src      //document.images.name属性.src

  • 相关阅读:
    C++友元
    C++类与static
    C++const
    reinterpret_cast应用
    学习软件工程课的心得上
    学习软件工程课的心得下
    项目总结报告之假如历史重新再来一次
    人月神话读后感
    团队任务考核
    冲刺周期会议十一
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/8973652.html
Copyright © 2020-2023  润新知