写在前面
最近在做项目的时候涉及到了跨域传值写值的问题和浏览器兼容问题困扰了好久,这里要吐槽一下万恶的IE6很多东西要最低兼容IE6很是头疼,以前对于这些问题就随便百度百度代码修修改改也没有去究其原因,在项目开发过程中猛然对这些东西产生了兴趣
- 兼容:兼容or不兼容的原因;
- 原理:这个实现它底下是如何去实现的;
- 用谁更好:只去追求实现,有能好的方案却不去采用;
我想程序员希望有进一步的进一步对很多问题都要去究其原因而不是不求甚解,虽然主业是一个后台开发但是基于这样的原因,我决定对js进行一个系统的学习,这一个系列博文也算是记录一下自己的学习情况及进度。
正文
一、JavaScript简介
JavaScript最开始的版本是由Netscape公司发行的第一个版本,为了取得技术优势,微软推出了JScript,CEnvi推出ScriptEase,与JavaScript同样可在浏览器上运行。为了统一规格,因为JavaScript兼容于ECMA标准,因此也称为ECMAScript。
二、JavaScript组成
现在JavaScript和ECMAScript通常被认为是同一个含义,其实JavaScript的范围更大,ECMAScript只是JavaScript组成的一部分,为了区分开来对待,这里列出JavaScript的组成部分:
- 核心(ECMAScript):通常来看这里就是我们平常称作js代码的部分。
- 文档对象模型(DOM):这里咋一看感觉还挺专业的,其实指的就是我们通常html页面里面的标签,如:<html>、<body>等页面层级结构;
- 浏览器对象模型(BOM):这里指的就是像窗口等页面以外的部分;
区分DOM和BOM两种对象模型,我们可以认为DOM是为了让我们操作页面内的元素对象,而BOM是为了支持我们操作页面范围以外的对象比如窗口等,这样我们就可以很好的理解这两种对象模式。