1.为什么学习 JavaScript?
JavaScript 是 web 开发人员必须学习的 3 门语言中的一门:
HTML 定义了网页的内容
CSS 描述了网页的布局
JavaScript 控制了网页的行为
2什么是JavaScript?
JavaScript 是一个面向对象的脚本语言,目前互联网上较流行的脚本语言,这门语言可用于 HTML 和 web,更可广泛用于服务器、PC、笔记本电脑、平板电脑和智能手机等设备。
面向对象是一种编程思想
面向对象是从面向过程升华而来。
面向过程--例如:从电视塔到钟楼
将从电视塔开始到钟楼结束中途所经历的每一步都要记录 【公交车】
面向对象--例如:从电视塔到钟楼
将电视塔作为起始对象,钟楼作为结束对象 【滴滴】
脚本语言--编写好以后放到运行环境中直接就能运行的语言。
3.JavaScript的版本
JavaScript 已经由 ECMA(欧洲电脑制造商协会)通过 ECMAScript 实现语言的标准化。
年份 | 名称 | 描述 |
1997 | ECMAScript 1 | 第一个版本 |
1998 | ECMAScript 2 | 版本变更 |
1999 | ECMAScript 3 | 添加正则表达式,添加 try/catch |
ECMAScript 4 | 没有发布 | |
2009 | ECMAScript 5 | 添加 "strict mode",严格模式,添加 JSON 支持 |
2011 | ECMAScript 5.1 | 版本变更 |
2015 | ECMAScript 6 | 添加类和模块 |
2016 | ECMAScript 7 | 增加指数运算符 (**),增加 Array.prototype.includes |
4.JavaScript的特点
- 解释执行 - 解释一行执行一行。
- 灵活 - 动态特性 可以随意给对象增加方法和属性
- 头等函数 - 函数在javascript 一等公民 重要
- 执行唤醒 - 宿主环境
5.JavaScript组成
- ECMAScript -语法规范
- Web APIs(DOM BOM)
1. ECMAScript -语法规范
- 变量,数据类型,类型转换操作符
- 流程控制语句:判断,循环语句
- 数组函数,函数,作用域,预解析
- 对象,属性,方法,简单数据类型和复杂数据类型的区别
- 内置对象:Array, Math , Date ,基本包装类型String ,Number , Boolean
2.Web APIs
2.1 BOM
- onload页面加载事件,window顶级对象
- 定时器
- location , history
2.2 DOM
- 获取页面元素,注册事件
- 属性操作,样式操作
- 节点属性, 节点层级
- 动态创建元素
- 事件:注册时间的方式,时间的三个阶段,事件对象
6.JavaScript 用法
HTML 中的脚本必须位于 <script> 与 </script> 标签之间。
脚本可被放置在 HTML 页面的 <body> 和 <head> 部分中。
<script> 标签
如需在 HTML 页面中插入 JavaScript,请使用 <script> 标签。
<script> 和 </script> 会告诉 JavaScript 在何处开始和结束。
<script> 和 </script> 之间的代码行包含了 JavaScript.
JavaScript 函数和事件
上面例子中的 JavaScript 语句,会在页面加载时执行。
通常,我们需要在某个事件发生时执行代码,比如当用户点击按钮时。
如果我们把 JavaScript 代码放入函数中,就可以在事件发生时调用该函数。
在 <head> 或者 <body> 的JavaScript
您可以在 HTML 文档中放入不限数量的JavaScript。
脚本可位于 HTML 的 <body> 或 <head> 部分中,或者同时存在于两个部分中。
通常的做法是把函数放入 <head> 部分中,或者放在页面底部。这样就可以把它们安置到同一处位置,不会干扰页面的内容。
<head> 中的 JavaScript 函数
在本例中,我们把一个 JavaScript 函数放置到 HTML 页面的 <head> 部分。
该函数会在点击按钮时被调用。
7.JavaScript 注释
我们可以添加注释来对 JavaScript 进行解释,或者提高代码的可读性。
7.1单行注释以 // 开头。
// var a = 3;
7.2多行注释以 /* 开始,以 */ 结尾。
/* one
多行注释的代码
var a = 0;
*/
/**
* two
* 多行注释
*/
8.JavaScript 变量
什么是变量?
在程序运行的过程中可以随时被修改的就是变量。
变量的作用?
变量是用来存储具体数据值的容器
为什么需要变量来存储数据值?
节省存储空间
例如:一个程序中需要使用10个"hello",每一个“hello”占5个字符存储空间,
那么10个"hello"就是50个字符存储空间。如果将“hello”保存在一个变量中,那么我们只需要5个字符存储空间,在其他需要使用"hello"的地方只需要调用这个变量,
而无需在开辟新的存储空间。
怎么创建变量?
使用var 关键字来定义创建变量。
格式: var 变量名称;
var num;
变量的赋值
格式: 变量名称=数据值;
num=100;
上面的变量创建方式是先定义后赋值
我们也可以定义和赋值一起完成
var num2=200;
我们也可以一次性定义赋值多个变量。
var perid,pername,perage; //一次性定义多个变量
perid=1002;
pername="lisi";
perage=24;
var stuid=1001,stuname="zhangsan",stuage=23;
关于变量名称的命名
1.可以使用字母,数字,下划线“_”,美元符号“$”,变量必须以字母开头
2.不能使用空格
3.不能用关键字
关键字---javacript语法规范中为一些单词赋予了特殊的含义,这些被赋予特殊含义的单词就是关键字
javacript语法规范占用的单词。
var var1=100;
4.不能用中文[乱码]
5.区分大小写
变量的名称,全部小写,如果有多个单词组成可以使用"—"/"$"区分。
9.JavaScript 数据类型
数据类型实际上是用来决定所定义的变量将来所能进行那些操作。
JavaScript中的数据类型有2大类:值类型(基本类型)和引用数据类型
值类型(基本类型):字符串(String)、数字(Number)、布尔(Boolean)、对空(Null)、未定义(Undefined)、Symbol。
引用数据类型:对象(Object)、数组(Array)、函数(Function)。
Symbol 是 ES6 引入了一种新的原始数据类型,表示独一无二的值。
JavaScript 拥有动态类型。这意味着相同的变量可用作不同的类型。
无奈源于不够强大