JavaScript 概述
1 编程语言
1.1 编程语言的定义
编程语言就是人与计算机交流的语言。
编程语言要满足图灵完备性(一切可计算的问题都能计算),所以说HTML和CSS不能算作编程语言。
1.2 编程语言的分类
① 机器语言
01000100001000001010101000001000010000010000
00001000011101111011110001110000111000100000
01011100001000101010101000111000010000101010
01010101010101010111100000011101111000101010
② 汇编语言
section .data ; 数据段声明
msg db "Hello, world!", 0xA ; 要输出的字符串
len equ $ - msg ; 字串长度
section .text ; 代码段声明
global _start ; 指定入口函数
_start: ; 在屏幕上显示一个字符串
mov edx, len ; 参数三:字符串长度
mov ecx, msg ; 参数二:要显示的字符串
mov ebx, 1 ; 参数一:文件描述符(stdout)
mov eax, 4 ; 系统调用号(sys_write)
int 0x80 ; 调用内核功能
; 退出程序
mov ebx, 0 ; 参数一:退出代码
mov eax, 1 ; 系统调用号(sys_exit)
int 0x80 ; 调用内核功能
③ 高级语言
编译型 : 先编译,再运行; 如 Java、C、C++ ... 运行效率更高。需要编译器。
解释型 : 边编译,边运行; 如JavaScript、PHP、Python... 开发效率更高。需要解释器。
2 什么是 JavaScript
JavaScript 是一门动态的,弱类型的,解释型的,基于对象的脚本语言。
动态: 程序执行的时候才会确定数据类型。 静态: 书写代码的时候提前确定数据类型。
弱类型: 数据类型可以自动转换。 强类型: 数据类型无法自动转换。
解释型: 边编译,边运行,开发效率更高。 编译型: 边编译,边运行,开发效率更高。
脚本:一般都是可以嵌在其它编程语言当中执行。
JavaScript 的解释器(运行环境)是浏览器或Node.js。
Java 和 JavaScript 的关系: 雷锋和雷峰塔的关系。
3 JavaScript 的由来
1990年底,欧洲核能研究组织(CERN)科学家Tim Berners-Lee,发明了万维网(World Wide Web)。
1992年底,美国国家超级电脑应用中心(NCSA)开始开发一个独立的浏览器,叫做Mosaic。
1994年10月,NCSA的一个主要程序员Marc Andreessen联合风险投资家Jim Clark,成立了Mosaic通信公司,不久后改名为Netscape(网景)。
1994年12月,Netscape发布浏览器Navigator1.0,市场份额一举超过90%。
1995年 Netscape 程序员 布兰登·艾奇(Brendan Eich,1961年~) 设计出了LiveScript1.0 后来 改名 JavaScript。
1996年3月,Navigator 2.0浏览器正式内置了JavaScript脚本语言。
1996年8月,微软模仿JavaScript开发了一种相近的语言,取名为JScript, 内置于IE3.0
1996年11月,网景公司决定将JavaScript提交给欧洲计算机制造联合会ECMA,希望JavaScript能够成为国际标准,以此抵抗微软。
1997年7月,ECMA组织发布262号标准文件(ECMA-262)的第一版,规定了浏览器脚本语言的标准,并将这种语言称ECMAScript。个版本就是ECMAScript 1.0版。
1998年6月,ECMAScript 2.0版发布。
1999年12月,ECMAScript 3.0版发布
2008年7月,由于对于下一个版本应该包括哪些功能,各方分歧太大,争论过于激进,ECMA开会决定,中止ECMAScript 4.0的开发,将其中涉及现有功能改善的一小部分,发布为ECMAScript 3.1
2009年12月,ECMAScript 5.0版正式发布。
2011年6月,ECMAscript 5.1版发布,并且成为ISO国际标准
2015年6月17日,ECMAScript 6发布正式版本,即ECMAScript 2015
3 JavaScript 的作用
- 浏览器端JS,页面特效(表单验证、各种特效)
- 手机App (ios 编程语言 OC和swift; 安卓:Java)(js开发混合App,一键打包到安卓、ios、windowsphone)
- 游戏(页游,代替flash)
- 后端开发(nodejs)
4 浏览器端 JavaScript 组成
- ECMAScript 基本语法 (使用ES的编程语言:JavaScript、ActionScript)
- BOM (浏览器对象模型) 浏览器提供的一系列API啊(使用代码直接调用的方法)
- DOM (文档对象模型)HTML文档提供的一系列API