一、发展历史:
1. 1994年,网景公司(Netscape)发布了Navigator浏览器0.9版,这是世界上第一款比较成熟的网络浏览器,轰动一时。
但是这是一款名副其实的浏览器--只能浏览页面,浏览器无法与用户互动,当时解决这个问题有两个办法,
一个是采用现有的语言,许它们直接嵌入网页。
另一个是发明一种全新的语言。
2. 1995年Sun公司将Oak语言改名为Java,正式向市场推出。Sun公司大肆宣传,许诺这种语言可以"一次编写,到处运 行"(Write Once, Run Anywhere),它看上去很可能成为未来的主宰。
3. 网景公司动了心,决定与Sun公司结成联盟, 后来验证java在浏览器客户过于臃肿,适合服务端开发。
4. 34岁的系统程序员Brendan Eich登场了。1995年4月,网景公司录用了他,他只用10天时间就把Javascript设计出来了。
5. 1996年8月,微软模仿JavaScript开发了一种相近的语言,取名为JScript
6. 1996年11月,Netscape公司决定将JavaScript提交给国际标准化组织ECMA (European Computer Manufacturers Association 欧洲计算机制造商协会),希望JavaScript能够成为国际标准,以此抵抗微软。
7. 1997年7月,ECMA组织发布262号标准文件(ECMA-262)的第一版,规定了浏览器 脚本语言的标准,并将这种语言称为ECMAScript。这个版本就是ECMAScript 1.0版。
8. ECMAScript和JavaScript的关系是,前者是后者的规格,后者是前者的一种实现。在日常场合,这两个词是可以互换的。
二、用途
1. 浏览器客户端开发
2. 服务端开发
3. 桌面应用开发
三、JavaScript的组成
1. ECMASCRIPT: 定义了javascript的语法规范,描述了语言的基本语法和数据类型
2. BOM (Browser Object Model): 浏览器对象模型
- 有一套成熟的可以操作浏览器的 API,通过 BOM 可以操作浏览器。比如: 弹出框、浏览器跳转、获取分辨率等。
3. DOM (Document Object Model): 文档对象模型
- 有一套成熟的可以操作页面元素的 API,通过 DOM 可以操作页面中的元素。比如: 增加个 div,减少个 div,给div 换个位置等。
四、JavaScript代码的书写位置
1. - 和 css 一样,我们的 js 也可以有多种方式书写在页面上让其生效
- js 也有多种方式书写,分为 行内式, 内嵌式,外链式。
2. 行内式 JS 代码(不推荐)
3. 内嵌式 JS 代码
4. 外链式 JS 代码(推荐)
五、JavaScript中的注释
单行注释:在代码前加 //
多行注释:/*需要注释的多行内容*/
六、变量
- 变量指的是在程序中保存数据的一个容器
- 变量是计算机内存中存储数据的标识符,根据变量名称可以获取到内存中存储的数据
- 也就是说,我们向内存中存储了一个数据,然后要给这个数据起一个名字,为了是我们以后再次找到他
- 变量的本质是内存中一个存储单元
- 语法: var 变量名 = 值
1. 变量的命名规则和命名规范:
(1)变量名可以由数字、字母、英文下划线、美元符号组成
(2)严格区分大小写
(3)不能由数字开头,不能使用汉字来命名
(4)不能是保留字(将来有特殊用处的字)或关键字(有特定意义的字)
(5)不能出现空格
2. 命名规范
(1)命名尽量有意义(语义化)
(2)遵循驼峰命名规则(即由多个单词组成的时候,从第二个单词开始,首字母大写)
七、数据类型(基本数据类型和复杂数据类型)
1. 基本数据类型
(1)数值型(number):一切数字都是数值类型,NaN是一个非数字
(2)字符串类型(string):被引号包裹的所有内容
(3)布尔型(boolean): 只有两个值,true 和 false;
(4)null型:只有一个,就是null;
(5)undefined型: 只有一个值undefined.
2. 复杂数据类型
(1)对象类型
(2)函数类型等
3. 判断数据类型
(1)typeof(typeof num): 判断num的数据类型
(2)isNaN(num)主要用于判断num是否是一个数值类型
4. 数据类型转换
(1)其他数据类型转换为数值型:
(2)其他数据类型转成字符串
(3)其他数据类型转成布尔
八、运算符
定义:就是在代码里面进行运算的时候使用的符号,
不光只是数学运算,我们在 js 里面还有很多的运算方式
1. 数学运算符:+、-、*、/、%(取余)
2. 赋值运算符
3. 比较运算符
4. 逻辑运算符
5. 自增自减运算符:num++与num--,其中++与--写在数值前与后表现形式不一样 ,在前表示先自增再参与运算,在后表示先参与运算再自增。
6. 运算符优先级