文档章节

JavaScript 入门简介

不朽灵都
 不朽灵都
发布于 2014/06/05 11:18
字数 1296
阅读 12
收藏 0
js

一、定义

一个完整的 JavaScript 实现是由以下 3 个不同部分组成的:

核心(ECMAScript) 描述了该语言的语法和基本对象;

文档对象模型(DOM)描述了处理网页内容的方法和接口;

浏览器对象模型(BOM)描述了与浏览器进行交互的方法和接口。

ECMAScript

ECMAScript 并不与任何具体浏览器相绑定,实际上,它也没有提到用于任何用户输入输出的方法。Web 浏览器对于 ECMAScript 来说是一个宿主环境,但它并不是唯一的宿主环境。事实上,还有不计其数的其他各种环境(例如 Nombas 的 ScriptEase,以及 Macromedia 同时用在 Flash 和 Director MX 中的 ActionScript)可以容纳 ECMAScript 实现。

ECMAScript 仅仅是一个描述,定义了脚本语言的所有属性、方法和对象。其他语言可以实现 ECMAScript 来作为功能的基准,JavaScript 就是这样:

ECMAScript、JavaScript、ActionScript、ScriptEase


DOM

DOM(文档对象模型)是 HTML 和 XML 的应用程序接口(API)。DOM 将把整个页面规划成由节点层级构成的文档。HTML 或 XML 页面的每个部分都是一个节点的衍生物。DOM 通过创建树来表示文档,从而使开发者对文档的内容和结构具有空前的控制力。用 DOM API 可以轻松地删除、添加和替换节点。


BOM

IE 3.0 和 Netscape Navigator 3.0 提供了一种特性 – BOM(浏览器对象模型),可以对浏览器窗口进行访问和操作。使用 BOM,开发者可以移动窗口、改变状态栏中的文本以及执行其他与页面内容不直接相关的动作。使 BOM 独树一帜且又常常令人怀疑的地方在于,它只是 JavaScript 的一个部分,没有任何相关的标准。

BOM 主要处理浏览器窗口和框架,不过通常浏览器特定的 JavaScript 扩展都被看做 BOM 的一部分。这些扩展包括:

    弹出新的浏览器窗口

    移动、关闭浏览器窗口以及调整窗口大小

    提供 Web 浏览器详细信息的定位对象

    提供用户屏幕分辨率详细信息的屏幕对象

    对 cookie 的支持

IE 扩展了 BOM,加入了 ActiveXObject 类,可以通过 JavaScript 实例化 ActiveX 对象

由于没有相关的 BOM 标准,每种浏览器都有自己的 BOM 实现。有一些事实上的标准,如具有一个窗口对象和一个导航对象,不过每种浏览器可以为这些对象或其他对象定义自己的属性和方法。

二、知识点

ECMAScript 有 5 种原始类型(primitive type)

Undefined、Null、Boolean、Number 、 String

ECMAScript 的解释程序遇到未声明过的标识符时,用该变量名创建一个全局变量,并将其初始化为指定的值。这是该语言的便利之处,不过如果不能紧密跟踪变量,这样做也很危险。最好的习惯是像使用其他程序设计语言一样,总是声明所有变量。

ECMAScript 关键字

    ECMAScript 关键字的完整列表:

#这些关键字标识了 ECMAScript 语句的开头和/或结尾。根据规定,关键字是保留的,不能用作变量名或函数名
break    case    catch    continue    default    delete    do    else    finally    for    function    if    in    instanceof    new    return
switch    this    throw    try    typeof    var    void    while    with

ECMAScript 保留字

    ECMA-262 第三版中保留字的完整列表如下:

#保留字在某种意思上是为将来的关键字而保留的单词。因此保留字不能被用作变量名或函数名。
abstract    boolean    byte    char    class    const    debugger    double    enum    export    extends    final
float    goto    implements    import    int    interface    long    native    package    private    protected
public    short    static    super    synchronized    throws    transient    volatile

ECMAScript 对象

面向对象术语

    对象:              基于代码的名词(人、地点或事物)的表示。

    类:                 每个对象都由类定义,可以把类看做对象的配方。类不仅要定义对象的接口(interface)(开发者访问的属性和方法),还要定义对象的内部工作(使属性和方法发挥作用的代码)。编译器和解释程序都根据类的说明构建对象。

    实例:              程序使用类创建对象时,生成的对象叫作类的实例(instance)。对类生成的对象的个数的唯一限制来自于运行代码的机器的物理内存。每个实例的行为相同,但实例处理一组独立的数据。由类创建对象实例的过程叫做实例化(instantiation)。

    对象的构成:    在 ECMAScript 中,对象由特性(attribute)构成,特性可以是原始值,也可以是引用值。如果特性存放的是函数,它将被看作对象的方法(method),否则该特性被看作对象的属性(property)。

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


三. 功能:

    闭包

© 著作权归作者所有

共有 人打赏支持
上一篇: Kissy框架简介
下一篇: Web开发工具整理
不朽灵都
粉丝 8
博文 38
码字总数 18073
作品 0
海淀
高级程序员
私信 提问
WisdomPlanet-Javascript-Primer

WisdomPlanet-Javascript-Primer是一本Javascript入门方面的前端书,目前刚开始连载。书中以小说故事模式开展,讲解了JS的语言基础,作者希望通过此书让刚学编程或准备学习JS的同学作为一个学...

念念之间
2015/04/01
1
0
发明者量化 数字货币量化交易课程--开课啦!

目录连载 适用人群 面向对数字货币程序化感兴趣的初学者,需要有一定的实盘交易和计算机基础。 课程概述 数字货币交易市场由于其特殊性越来越受到量化交易者的关注,实际上程序化交易已经是数...

发明者量化FMZ
09/18
0
0
talent-validate 4.0.1,十年前的 JS 验证框架,依旧风骚

talent-validate 简介 talent-validate是一个灵活强大、易用、风骚的js前端验证框架,虽然诞生于10年前,但是用户体验和开发人员体验依旧风骚,用上几天,说不定会颠覆你对js验证框架的印象。...

talent-tan
2017/05/07
1K
16
Backbone.js 样例站点与入门指南

本文的来源 前段时间,我的工作中开始接触到 Backbone.js 这个开源框架,于是我就在网上搜索了下相关资料开始学习,结果找来找去,发现这些资料都不够全面,都是只涉及到关键点的一部分,只有...

苗哥
2012/08/06
0
3
TypeScript基础入门 - 类 - 简介

转载地址 TypeScript基础入门 - 类 - 简介 项目实践仓库 为了保证后面的学习演示需要安装下ts-node,这样后面的每个操作都能直接运行看到输出的结果。 后面自己在练习的时候可以这样使用 类 ...

durban
08/07
0
0

没有更多内容

加载失败,请刷新页面

加载更多

EOS账户如何工作,我们如何获取eos账号?

EOS账户的工作方式是什么?帐户是存储在区块链中的人类可读名称。它可以由个人或一群人拥有,具体的取决于权限配置。需要一个帐户来将交易转移或推送到区块链。——EOSIO Wiki EOS账户如何工...

笔阁
6分钟前
0
0
iOS面试之@property

https://juejin.im/post/5c105c7ce51d4562d138086f @property介绍 相信做过iOS开发的同学都使用过@property,@property翻译过来是属性。在定义一个类时,常常会有多个@property,有了@proper...

壹峰
7分钟前
0
0
[springBoot系列]--springBoot注解大全

一、注解(annotations)列表 @SpringBootApplication:包含了@ComponentScan、@Configuration和@EnableAutoConfiguration注解。其中@ComponentScan让spring Boot扫描到Configuration类并把它加......

Jack088
21分钟前
6
0
tomcat编译超过64k大小的jsp文件报错原因

  今天遇到一个问题,首先是在tomcat中间件上跑的web项目,一个jsp文件,因为代码行数实在是太多了,更新了几个版本之后编译报错了,页面打开都是报500的错误,500的报错,知道http协议返回...

SEOwhywhy
43分钟前
5
0
flutter http 请求客户端

1、pubspec文件管理Flutter应用程序的assets(资源,如图片、package等)。 在pubspec.yaml中,通过网址“https://pub.dartlang.org/packages/http#-installing-tab-”确认版本号后,将http(0...

渣渣曦
43分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部