一、jQuery基础知识

(一)、jQuery介绍

jQuery库可以通过一行简单的标记被添加到网页中。
jQuery:它是一个开源的ajax框架.在企业中用得最多的一个Ajax框架

  • jQuery 宗旨

write less, do more : 写更少,做更多。

  • jQuery库的特性

jQuery是一个JavaScript函数库

  • HTML元素选取
  • HTML元素操作
  • CSS操作
  • HTML事件函数
  • JavaScript特效和动画
  • HTML DOM遍历和修改
  • AJAX
  • 市面上较流行Ajax框架
  • 重量级(会提供界面组件):extjs、dojo
  • 轻量级(没有界面组件):jquery、prototype
  • 学习Ajax框架
  • 它解决了跨浏览器js兼容问题
  • 它简化了dom编程
  • 它简化异步请求
  • 它提供了一批工具方法

(二)、jQuery下载

  • 官方网站

http://www.jquery.com


  • jQuery 各版本下载地址

http://www.jq22.com/jquery-info122

  • jQuery的版本说明
  • V1.xxx: 它兼容所有的浏览器
  • V2.xxx: jquery-2.0以上版本不再支持IE 6/7/8
  • V3.xxx:目前最新版本:3.0 对应之前的 2.x,关注更新的浏览器,对于IE支持到 9.0以上 版本
  • 下载jQuery框架
  • jquery-1.11.3.js:(源码) 核心部分、未压缩的文件最好用于开发和调试过程中
  • jquery-1.11.3.min.js:(压缩)、压缩文件可以节省带宽,提高生产性能

(三)、jQuery引用以及使用

jQuery库位于一个JavaScript文件中,其中包含了所有的jQuery函数。
可以通过下面的标记把jQuery添加到网页中

<html>
  <head>...</head>
  <body>
    ..
    <script src="./js/jquery.js"></script>
  </body>
</html>

(四)、jQuery监听文档加载事件

  • $(document).ready()
<script src="./js/jquery.js"></script>
<script>
  $(document).ready(function(){
    alert("文档加载完毕1");
  });
</script>
  • $(this).ready()
<script src="./js/jquery.js"></script>
<script>
  $(this).ready(function(){
    alert("文档加载完毕2");
  });
</script>
  • $(function(){})
<script src="./js/jquery.js"></script>
<script>
  $(function(){
    alert("文档加载完毕3");
  });
</script>

二、JavaScript基础

(一)、变量

变量:是指程序中一个已经命名的存储单元,它的主要作用就是为数据操作提供存放信息的容器

对于变量的使用首先必须明确其命名规则声明方法及其作用域

  • 变量的命名规则
  • 必须以字母或下划线开头,中间可以是数字、字母或下划线
  • 变量名不能包含空格、加号、减号等符号
  • 不能使用javaScript中的关键字
  • 变量名是严格区分大小写的
  • 与标识符的命名规则差不多
  • 变量的声明和赋值
  • 在jQ 中,使用变量前需要先对其进行声明,所有的jQ变量都由关键字 var 声明,语法格式如下var variable;
  • 在声明变量的同时也可以对变量进行赋值,var variable = 10;
  • 可以使用一个关键字 var 同时声明多个变量,var a,b,c;
  • 也可以在声明变量的同时对其赋值,即初始化,var i=1,j=2,k=3;
  • 如果只是声明了变量,并未对其赋值,则其值默认为undefined
  • 变量的作用域
  • 在JS中变量根据作用域可以分为两种:全局变量和局部变量
var c = 30; //该变量在函数外声明,作用域为全局
function btn() {
  var a = 10; //该变量在函数内声明,作用域为局部(btn函数里)
}
  • 变量的生存期

变量的生存期是指变量在计算机中存在的有效时间。

  • 从变成的角度来说,可以简单地理解为该变量所赋的值在程序中的有效范围
    变量的生存期有两种:全局变量局部变量
  • 全局变量主程序中定义,其有效范围从其定义开始,一直到本程序结束为止。
  • 局部变量程序的函数中定义,其有效范围只有在该函数之中,在函数结束后,局部变量的生存期也就结束了

(二)、赋值语句

赋值语句是程序中最常用的语句
在程序中,往往需要大量的变量来存储程序中用到的数据,所以用来对变量进行赋值的赋值语句也会在程序中大量出现

  • 语法:变量名=表达式;
  • 当使用关键字var 声明变量时,可以同时使用赋值语句对声明的变量进行赋值
  • var num = 10;
  • var str = "Hello world!";
  • var bool = true;
  • var obj = new Object();

(三)、窗口对象

窗口对象(Window): 表示浏览器中打开的窗口
如果文档包含框架(frame 或 iframe 标签),浏览器会为 HTML 文档创建一个 window 对象,并为每个框架创建一个额外的 window 对象

  • 窗口(Window)对象方法
  • alert(): 显示带有一段消息和一个确认按钮的警告框
<script>
  alert('页面会弹出信息框');
</script>
  • prompt(): 显示可提示用户输入的对话框
<script>
  prompt('页面会弹出带有输入框的信息框');
</script>
  • confirm(): 显示带有一段消息以及确认按钮和取消按钮的对话框
<script>
  confirm('页面会弹出带确定和取消按钮的对话框');
</script>

三、数据类型&转换规则

(一)、数据类型

字符串(String)

字符串:是存储字符的变量
用来表示文本的数据类型,程序中的字符串是包含单/双引号中的,由单引号定界的字符串中包含有双引号,反之也是如此

var x = "你好,前端!";
var y = '你好,前端!';
var i = '你好,"前端"';  
var z = "你好,'前端'";
数字(Number)

JavaScript 只有一种数字类型。数字可以带小数点,也可以不带
JavaScript 数字型数据可以为正数也可以为负数
JavaScript 数字型数据可以使用八进制、十进制、十六进制运算

var  x = 10;//整数类型
var  y = 10.00;//浮点类型
var  a = 10; //正数
var  b = -10;//负数
var  c = 0xff; // 十六进制
布尔值(Boolean)

布尔值通常用于流程控制
字符串和数字型的值都是无穷尽的,然而布尔数据类型(逻辑)只能有两个值:truefalse,这两个值分别用来说明某个事物是真还是假

var x = true;  //真
var y = false;  //假
数组(Array)

数组对象的作用是:使用单独的变量名来存储一系列的值
数组可以用一个变量名存储所有的值,并且可以用变量名访问任何一个值
数组中的每个元素都有自己的的ID,以便它可以很容易地被访问到

// 常规形式
var myCars=new Array(); 
myCars[0]="Saab";       
myCars[1]="Volvo";
myCars[2]="BMW";

// 简洁方式
var myCars=new Array("Saab","Volvo","BMW");

// 字面
var myCars=["Saab","Volvo","BMW"];
对象(Object)

JavaScript 中的所有事物都是对象:字符串、数值、数组、函数
对象只是一种特殊的数据。对象拥有属性和方法

var person=new Object();
person.firstname="John";
person.lastname="Doe";
person.age=50;
person.eyecolor="blue";
Undefined

这个值表示变量不含有值,没有定义的值;或者被赋予了一个不存在的属性值

var i;  //undefined
NULL

null是一个特殊的值,它表示为空值,用于定义空的或不存在的引用。如果试图引用一个没有定义的变量,则返回一个null

var i = null;

(二)、转义字符

以反斜杠开头的不可显示的特殊字符通常称为转义字符,也被称为控制字符
通过转义字符可以在字符串中添加不可显示的特殊字符,或者防止引号匹配混乱的问题

转义字符

描述


单引号

"

双引号

&

和号

\

反斜杠

\n

换行符

\r

回车符

\t

制表符

\b

退格符

\f

换页符

(三)、函数定义的常用方式

  • 函数声明
function sum() {
}
  • 函数表达式
var sum  = function () {
}

(四)、数据类型的转换规则

Number(mix)

**Number(mix)**函数可以将任意类型的参数mix转换为数值类型

**Number(mix)**转换规则

  • 如果是布尔值,truefalse分别被转换为1和0
  • 如果是数字值,返回本身
  • 如果是null,返回0
  • 如果是undefined,返回NaN
  • 如果是字符串
  • 如果字符串中只包含数字,则将其转换为十进制(忽略前导0)
  • 如果字符串中包含有效的浮点格式,将其转换为浮点数值(忽略前导0)
  • 如果是空字符串,将其转换为0
  • 如果字符串中包含非以上格式,则将其转换为NaN
Number("hello CSSer!")	// 结果NaN
Number("020dd")	// 结果NaN
Number("070")	// 结果70
Number(true)	// 结果1
Number("0x8")	// 结果8
parseInt(string,radix)

parseInt() 函数可解析一个字符串,并返回一个整数

**parseInt()**规则

  • 忽略字符串前面的空格,直至找到第一个非空字符
  • 如果第一个字符不是数字符号或者负号,返回NaN
  • 如果第一个字符是数字,则继续解析直至字符串解析完毕或者遇到一个非数字符号为止
  • 如果上步解析的结果以0开头,则将其当作八进制来解析;如果以0x开头,则将其当作十六进制来解析
  • 如果指定radix参数,则以radix为基数进行解析
parseInt("hello CSSer!")	// 结果NaN
dparseInt(" 020dd")	// 结果20
parseInt("070")	//	结果70
parseInt(true)	//	结果NaN
parseInt("0x8f",16)	//	结果143
parseInt("22.5")	//	结果22
parseFloat(string)

**parseFloat(string)**将字符串转换为浮点数类型的数值

规则与parseInt基本相同

  • 字符串中第一个小数点符号是有效的,另外parseFloat会忽略所有前导0,如果字符串包含一个可解析为整数的数,则返回整数值而不是浮点数值
var obj = {y:"10.0",x:"0010",z:"0.123浮点"}
parseFloat(obj.x)	//结果10
parseFloat(obj.y)	//结果10.0
parseFloat(obj.z)	//结果0.123
toString(radix)

toString(radix) 除undefined和null之外的所有类型的值都具有toString()方法,其作用是返回对象的字符串表示

对象

返回值

Array

将Array的元素转为字符串。结果字符串由逗号隔开,且链接起来

Boolean

如果Boolean值为true 返回"true"。否则,返回"false"

Date

返回日期的文字表示法

Number

可把一个Number对象转为一个字符串,并返回结果

Stirng

返回String对象的值

Object

返回"[object object]"

string(mix)

string(mix) 将任何类型的值转换为字符串

**string(mix)**转换规则

  • 如果有toString()方法,则调用该方法(不传递radix参数)并返回结果
  • 如果是null,返回”null”
  • 如果是undefined,返回”undefined”
String("hello CSSer!")	// 结果hello CSSer!
String(new Boolean(0))	// 结果false
String(070)	// 结果56
String(true)	// 结果true
String("0x8f")	// 结果0x8f
String("22.5")	// 结果22.5
Boolean(mix)

Boolean(mix) 当要转换的值是至少有一个字符的字符串、非 0 数字或对象时,Boolean() 函数将返回 true。如果该值是空字符串、数字 0、undefined 或 null,它将返回 false

Boolean("")	// 结果false
Boolean("hello")	// 结果true
Boolean(100)	// 结果true
Boolean(null)	// 结果false
Boolean(0)	// 结果false
Boolean(new Object())	//结果true

四、运算符&表达式

(一)、赋值语句

赋值语句是JavaScript程序中最常用的语句。在程序中,往往需要大量的变量来存储程序中用到的数据,所以用来对变量进行赋值的赋值语句也会在程序中大量出现

当使用关键字 var 声明变量时,可以同时使用赋值语句对声明的变量进行赋值

  • 语法:变量名=表达式
  • 代码
var num = 10;							
var str = "Hello world!";		
var bool = true;			
var obj = new Object();

(二)、表达式

表达式是一个语句集合,像一个组一样,计算结果是个单一值,然后这个结果被JavaScript归入下列数据类型之一:booleannumberstringfunction或者object

var a = 10;																
var i = a * 10

(三)、运算符

算术运算符

算术运算符: 在程序中进行加、减、乘、除等运算

运算符

描述

例子(y=5)

结果

+

加法

x=y+2

x=7

-

减法

x=y-2

x=3

*

乘法

x=y*2

x=10

/

除法

x=y/2

x=2.5

%

取模(余数)

x=y%2

x=1

++

自增

x=++y

x=6


自减

x=–y

x=4

比较运算符

比较运算符:首先对操作数进行比较,该操作数可以是数字也可以是字符串,然后返回一个布尔值 truefalse

运算符

描述

例子(x=5)

结果

==

等于

x==8

false

===

全等于(值和类型)

x===5 x==="5"

false,true

!=

不等于

x!=8

true

>

大于

x>8

false

<

小于

x<8

true

>=

大于或等于

x>=8

false

<=

小于或等于

x<=8

true

赋值运算符

赋值运算符:分为简单赋值运算和复合赋值运算
简单赋值运算就是将赋值运算符(=)右边表达式的值保存到左边的变量中
复合赋值运算混合了其他操作(算数运算操作、位操作等)和赋值操作

运算符

例子(x=10, y=5)

等价于

结果

=

x=y

x=5

+=

x+=y

x=x+y

x=15

-=

x-=y

x=x-y

x=5

*=

x*=y

x=x*y

x=50

/=

x/=y x=x/y

x=2

%=

x%=y

x=x%y

x=0

+运算符

字符串运算符是用于两个字符型数据之间的运算符,除了比较运算符外,还可以是+和+=运算符。其中,+运算符用于连接两个字符串,而+=运算符则连接两个字符串,并将结果赋给第一个字符串

运算符

描述

例子

结果

+

连接两个字符串

“my”+“book”

“mybook”

+=

连接两个字符串结果赋给第一个字符串

var name=“my”;name+=“book”

name=“mybook”

-运算符
逻辑运算符

运算符

描述

例子(x=10, y=5)

结果

!

取反

!(x==y)

true

&&

与运算符

x<10&&y>1

false

||

逻辑或

x==5||y==5

true

?=

三元运算符

x==5?true:false

false

==

等于运算符

x==y

true

!=

不等于运算符

x!=y

false

条件运算符

条件运算符是JavaScript 支持的一种特殊的三元运算符

语法:操作数?结果1:结果2 如果”操作数“的值为true,则整个表达式是结果为”结果1“,否则为”结果2“

var a = 10;
var b = 20;
var c = a>b? a:b;
console.log(c) //20

五、流程分支语句

(一)、条件判断语句

通常在写代码时,您总是需要为不同的决定来执行不同的动作。您可以在代码中使用条件语句来完成该任务

if语句

只有当指定条件为 true 时,使用该语句来执行代码
注意:请使用小写的 if。使用大写字母(IF)会生成 JavaScript 错误!

  • 语法
if(条件){
  当条件为true 时执行的代码
}
if…else语句

当条件为 true 时执行代码,当条件为 false 时执行其他代码

  • 语法
if(条件){
  当条件为 true 时执行的代码	
} else {
  当条件为 false 时执行的代码
}
if…else if…else语句

来选择多个代码块之一来执行

  • 语法
if(条件1){
  当条件1为true 时执行的代码
} else if (条件2) {
  当条件2为 true 时执行的代码
} else {
  当条件1和条件2都不true时执行的代码
}
switch语句

switch语句用于基于不同的条件来执行不同的动作

  • 语法
switch(变量) {
  case 值1:
	当变量的值等于值1时,执行代码
    break;
  case 值2:
	当变量的值等于值2时,执行代码
    break;
  default:
	当变量的值不等于值1 和 不等于值2时,执行代码
}

(二)、循环控制语句

for 循环

for 循环可以将代码块执行指定的次数

  • 语法
//语句 1 在循环(代码块)开始前执行
//语句 2 定义运行循环(代码块)的条件
//语句 3 在循环(代码块)已被执行之后执行
for (语句 1; 语句 2; 语句 3)  {
  //被执行的代码块
}
  • 代码
for (var i=0; i<5; i++) {
  console.log( i ); // 依次输出 0、1、2、3、4 
}
while 循环

while 循环只要指定条件为 true,循环就可以一直执行代码。

  • 语法
while (条件)  {
  //当条件为true时,执行的代码块
}
  • 代码
var i=0;
while (i<5) {
  console.log( i ); // 依次输出 0、1、2、3、4  
  i++;
}
do while 循环

do/while 循环是 while 循环的变体。该循环会执行一次代码块,在检查条件是否为真之前,然后如果条件为真的话,就会重复这个循环

  • 语法
do {
  //执行的代码块
}while (条件);
  • 代码
var i=0;
do {
  console.log( i ); // 依次输出 0、1、2、3、4  
  i++;
}while (i<5);

(三)、跳转语句

Break语句

break 语句用于跳出循环

  • 代码
for (var i=0;i<5;i++) {
  if (i==3) {
    break;
  }
  console.log( i ); //依次输出 0 1 2
}
Continue语句

Continue 语句用于跳过循环中的一个迭代

  • 代码
for (var i=0;i<5;i++) {
  if (i==3) {
    continue;
  }
  console.log( i ); //依次输出 0 1 2 4
}

六、定时器

通过使用 JavaScript,我们有能力作到在一个设定的时间间隔之后来执行代码,而不是在函数被调用后立即执行。我们称之为计时事件(定时器)

(一)、setTimeout

**setTimeout(func, milliseconds) **方法指定的毫秒数后执行指定的代码

  • 参数
  • func {function}: 必需。要调用一个代码串,也可以是一个函数
  • milliseconds {number}:可选。执行或调用 code/function 需要等待的时间,以毫秒计。默认为 0
  • 返回值
  • 返回一个 ID(数字),可以将这个ID传递给 clearTimeout() 来取消执行
  • 实例
var timer = setTimeout(function(){
  console.log(1); //指定700毫秒后 输出1
}, 700)

(二)、clearTimeout

clearTimeout(id) 方法用于停止执行setTimeout()方法的函数代码。

  • 参数
  • id {number}: 调用 setTimeout() 函数时所获得的返回值,使用该返回标识符作为参数,可以取消该 setTimeout() 所设定的定时执行操作
  • 实例
clearTimeout(timer)

(三)、setInterval

**setInterval(func, milliseconds)**方法–间隔指定的毫秒数不停地执行指定的代码

  • 参数
  • func {function}: 必需。要调用一个代码串,也可以是一个函数
  • milliseconds {number}:可选。执行或调用 code/function 需要等待的时间,以毫秒计。默认为 0
  • 返回值
  • 返回一个 ID(数字),可以将这个ID传递给 clearInterval() 来取消执行
  • 实例
var timer = setInterval(function(){
  console.log(1); //每隔700毫秒后 输出1
}, 700)

(四)、clearInterval

clearInterval(id) 方法用于停止 setInterval() 方法执行的函数代码

  • 参数
  • id {number}: 调用 setInterval() 函数时所获得的返回值,使用该返回标识符作为参数,可以取消该 setInterval() 所设定的定时执行操作
  • 实例
clearInterval(timer)

(五)、demo-计数器

七、课后作业

  • 去官网下载jquery框架,并引入框架到页面,分别使用3种方式监听文档加载完毕事件。
  • 声明一个变量,并通过alert弹窗打印,声明一个函数,并且进行调用
  • 使用运算符,测试算数运算符,比较运算符,逻辑运算符的区别
  • 熟悉流程分支语句,分别用条件判断语句,循环控制语句,跳转语句做一个案例
  • 熟悉使用定时器,完成计数器