1.JavaScript 简史

JavaScript 诞生于1995 年。当时,它的主要目的是处理以前由服务器端语言(如Perl)负责的一些输入验证操作

如今,JavaScript 的用途早已不再局限于简单的数据验证,而是具备了与浏览器窗口及其内容等几乎所有方面交互的能力

2.JavaScript 实现

就是JS的实现包含下面三部分

核心(ECMAScript)
 文档对象模型(DOM)
 浏览器对象模型(BOM)

3.DOM

对开发人员而言,如果想继续保持Web 跨平台的天性,就必须额外多做一些工作。而人们真正担
心的是,如果不对Netscape 和微软加以控制,Web 开发领域就会出现技术上两强割据,浏览器互不兼 容的局面。此时,负责制定Web 通信标准的W3C(World Wide Web Consortium,万维网联盟)开始着手规划DOM文档对象模型(DOM,Document Object Model)是针对XML 但经过扩展用于HTML 的应用程序编程接口(API,Application Programming Interface)。DOM把整个页面映射为一个多层节点结构。HTML或XML 页面中的每个组成部分都是某种类型的节点,这些节点又包含着不同类型的数据。

通过DOM 创建的这个表示文档的树形图,开发人员获得了控制页面内容和结构的主动权。借助DOM 提供的API,开发人员可以轻松自如地删除、添加、替换或修改任何节点。

4.BOM

Internet Explorer 3 和Netscape Navigator 3 有一个共同的特色,那就是支持可以访问和操作浏览器窗
口的浏览器对象模型(BOM,Browser Object Model)。

从根本上讲,BOM 只处理浏览器窗口和框架;但人们习惯上也把所有针对浏览器的JavaScript 扩展
算作BOM的一部分。下面就是一些这样的扩展:
 弹出新浏览器窗口的功能;
 移动、缩放和关闭浏览器窗口的功能;
 提供浏览器详细信息的navigator 对象;
 提供浏览器所加载页面的详细信息的location 对象;
 提供用户显示器分辨率详细信息的screen 对象;
 对cookies 的支持;
 像XMLHttpRequest 和IE 的ActiveXObject 这样的自定义对象。

HTML5 致力于把很多BOM 功能写入正式规范。HTML5 发布后,很多关于BOM 的困惑烟消云散。

JS Note1的更多相关文章

  1. Vue.js 和 MVVM 小细节

    MVVM 是Model-View-ViewModel 的缩写,它是一种基于前端开发的架构模式,其核心是提供对View 和 ViewModel 的双向数据绑定,这使得ViewModel 的状态改变可以自 ...

  2. js学习笔记:操作iframe

    iframe可以说是比较老得话题了,而且网上也基本上在说少用iframe,其原因大致为:堵塞页面加载.安全问题.兼容性问题.搜索引擎抓取不到等等,不过相对于这些缺点,iframe的优点更牛,跨域请求. ...

  3. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  4. JS调用Android、Ios原生控件

    在上一篇博客中已经和大家聊了,关于JS与Android.Ios原生控件之间相互通信的详细代码实现,今天我们一起聊一下JS调用Android.Ios通信的相同点和不同点,以便帮助我们在进行混合式开发时, ...

  5. jquery和Js的区别和基础操作

    jqery的语法和js的语法一样,算是把js升级了一下,这两种语法可以一起使用,只不过是用jqery更加方便 一个页面想要使用jqery的话,先要引入一下jqery包,jqery包从网上下一个就可以, ...

  6. 利用snowfall.jquery.js实现爱心满屏飞

    小颖在上一篇一步一步教你用CSS画爱心中已经分享一种画爱心的方法,这次再分享一种方法用css画爱心,并利用snowfall.jquery.js实现爱心满屏飞的效果. 第一步: 利用伪元素before和 ...

  7. node.js学习(三)简单的node程序&&模块简单使用&&commonJS规范&&深入理解模块原理

    一.一个简单的node程序 1.新建一个txt文件 2.修改后缀 修改之后会弹出这个,点击"是" 3.运行test.js 源文件 使用node.js运行之后的. 如果该路径下没有该 ...

  8. JS正则表达式常用总结

    正则表达式的创建 JS正则表达式的创建有两种方式: new RegExp() 和 直接字面量. //使用RegExp对象创建 var regObj = new RegExp("(^\\s+) ...

  9. 干货分享:让你分分钟学会 JS 闭包

    闭包,是 Javascript 比较重要的一个概念,对于初学者来讲,闭包是一个特别抽象的概念,特别是ECMA规范给的定义,如果没有实战经验,很难从定义去理解它.因此,本文不会对闭包的概念进行大篇幅描述 ...

随机推荐

  1. [译]:Orchard入门——部件管理

    原文链接:Managing Widgets 在Orchard中,部件是可以加入到当前当前主题任何位置或区域(如侧栏sidebar或底部区域footer)的UI块(如:HTML)或代码部分(如:内容部分 ...

  2. csc.rsp Nuget MVC/WebAPI 5.0、SignalR 2.0、Rx、Json、Azure、EntityFramework、OAuth、Spatial

    # This file contains command-line options that the C# # command line compiler (CSC) will process as ...

  3. iOS APP提交上架最新流程(转)

    时隔1年又让我鼓捣iOS,刚接手就是上架,经验值为0的我,虽然内心是拒绝的,但还是要接受这项任务滴!也就是在被拒后重新审核,再改在提交...这样 反复的过程中也对上架流程熟悉了好多,写篇帖子送给同为菜 ...

  4. 在IntelliJ IDEA中添加框架支持时找不到Hibernate的解决办法

    问题描述 第一次在Add Frameworks support界面中添加hibernate支持的时候,异常中断,导致没有成功添加. 第二次进入Add Frameworks support窗口时,发现找 ...

  5. java中方法的重写与重载的区别

    重载: 方法名相同,但是参数必须有区别(参数不同可以使类型不同,顺序不同,个数不同).前提: 同一个类中,方法名相同,参数列表不同的2个或多个方法构成方法的重载 参数列表不同指参数的类型,参数的个数, ...

  6. ScrollView控件实现屏幕滚动

    滚动视图是指当拥有很多内容,屏幕显示不完全时,需要通过滚动来显示完整的视图 ScrollView的种类: (1)水平滚动视图:HorizontalScrollView (2)垂直滚动视图:Scroll ...

  7. Spring Bean后处理器以及容器后处理器【转】

    Bean后处理器:即当spring容器实例化Bean实例之后进行的增强处理. 容器后处理器:对容器本身进行处理,并总是在容器实例化其他任何Bean之前读取配置文件的元数据并可能修改这些数据. 一.Be ...

  8. 【异常】ORA-01536: space quota exceeded for tablespace

    ### The error may exist in /src/main/resources/com/star/css/dao/sql/workflow.xml ### The error may i ...

  9. 李洪强iOS经典面试题142-第三方框架及其管理

    李洪强iOS经典面试题142-第三方框架及其管理   第三方框架及其管理 使用过CocoaPods吗?它是什么?CocoaPods的原理? CocoaPod是一个第三方库的管理工具,用来管理项目中的第 ...

  10. 【转】 Camera模仿3D效果的小例子(图片无限旋转)

    import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactor ...