ECMAScript渡一教育JavaScript精英课堂笔记 姬成

ECMAScript

一、js浏览器历史

1.web发展史

Mosaic,是互联网历史上第一个获普遍使用和能够显示图片的网页浏览器。于1993年问世
1994年4月,马克.安德森和Silicon Graphics(简称为SGI,中译为“视算科技”或“硅图”)公司的创始人吉姆·克拉克(Jim Clark)在美国加州设立了“Mosaic Communication Corporation”。
Mosaic公司成立后,由于伊利诺伊大学拥有Mosaic的商标权,且伊利诺伊大学已将技术转让给Spy Glass公司,开发团队必须彻底重新撰写浏览器程式码,且浏览器名称更改为Netscape Navigator,公司名字于1994年11月改名为“Netscape Communication Corporation”,此后沿用至今,中译为“网景”。
微软的Internet Explorer及Mozilla Firefox等,其早期版本皆以Mosaic为基础而开发。微软随后买下Spy Glass公司的技术开发出Internet Explorer浏览器,而Mozilla Firefox则是网景通讯家开放源代码后所衍生出的版本。

2.js历史

JavaScript作为Netscape Navigator浏览器的一部分首次出现在1996年。它最初的设计目标是改善网页的用户体验。
作者:Brendan Eich
期初JavaScript被命名为,LiveScript,后因和Sun公司合作,因市场宣传需要改名JavaScript。后来Sun公司被Oracle收购,JavaScript版权归Oracle所有。

3.浏览器组成

1.shell部分
2.内核部分
​ 1.渲染引擎(语法规则和渲染)
​ 2.js引擎
​ 2001年发布ie6,首次实现对js引擎的优化。
​ 2008年Google发布最新浏览器Chrome,它是采用优化后的javascript引擎,引擎代号V8,因能把js代码直接 转化为机械码来执行,进而以速度快而闻名。
​ 后Firefox也推出了具备强大功能的js引擎
​ Firefox3.5 TraceMonkey(对频繁执行的代码做了路径优化)
​ Firefox4.0 JeagerMonkey
​ 3.其他模块

4.js的逼格

1.解释性语言 — (不需要像编译性语言一样编译成文件)跨平台

优缺点

编译:快——开发游戏引擎,操作系统;不能跨平台,移植性不好

解释性:稍慢;跨平台

2.单线程

异步下载

ECMA标注 — 为了取得技术优势,微软推出了JScript,CEnvi推出ScriptEase,与JavaScript同样可在浏览器上运行。为了统一规格JavaScript兼容于ECMA标准,因此也称为ECMAScript。

5.js执行队列

类似吃饭

js三大部分
​ ECMAScript、DOM、BOM
如何引入js?
​ 页面 内嵌 script标签
外部引入
​ 为符合web标准(w3c标准中的一项)结构、样式、行为相分离,通常会采用外部引入
同时外部引入,页面内嵌
外部好使,内部失效

二、js基本语法

1.变量

变量声明
声明、赋值分解
单一var声明法

命名规则

1.变量名必须以英文字母、_ 、$ 开头
2.变量名可以包括英文字母、_、$、数字
3.不可以用系统的关键字、保留字作为变量名(关键字,保留字)

开发规范:


2.值类型

原始值(不可改变的;栈数据)

类型 说明
Number var a = 123.12
String var b = “abc”
Boolean var b = false; var a = ture; 输出结果就是本身
Undefined var b = undefined; 输出结果就是本身:没有定义的
Null var b = null; 空值占位

两个数据类型的区别:

原始值:stack(栈) 先进去的最后出来

var a = 10;
var b = a;
a = 20;
document.write(b);

栈内存与栈内存之间是拷贝

引用值(堆数据)

array, object, function

Date,RegExp

以上栈内存、堆内存底层原理见视频

JS是动态语言,解释一行,执行一行

三、js基本语句

语句后面要用分号结束“;”

不加分号

  1. function test(){}
  2. for(){}
  3. if(){}

js不同文件变量可以互相访问



js语法错误会引发后续代码终止,但不会影响其它js代码块

<script>
    var a = 10;
    document.write(c);
    //20
script>
<script>
    

你可能感兴趣的:(前端地基,ecmascript)