昨日回顾 JS是一种轻量级、跨平台、基于对象、事件驱动式、客户端脚本语言。 JS中为程序员提供了大量的内置对象,供我们使用。 JS的引入 1、 外部引入 <script type=”text/javascript” src=””></script> 2、 内部引入 <script type=”text/jvavscript>”> //书写JS代码 </script> 3、 行内 <html标签 onclick=”” onmouseover=””></html> JS注释: 1、//单行注释 2、多行注释 注释不要过多,注释过多会影响JS的执行效率。在一个网站上线时,会所以所有的注释删除。 数据类型: 三大类 第一类:基本数据类型 1、数值型(number) 整型(integer、int) 浮点型(float) NaN Not a Number 不是一个数 Infinity 无穷大 2、字符串(string) 就使用双引号或单引号括起来的一串字符 3、 布尔型 是不是,非就是,没有疑义。真就真,假就假,绝对明确。 true、flase 第二类:复合数据类型 1、 数组(array) 一组数据的有序集合 2、 对象(object) 3、 函数(function) 第三类:特殊数据类型 1、 undefied 对一个变量进行了声名,但没赋值 2、 null 变量:内存中临时存储数据的一块空间 typeof 是一个操作符 返回一个变量的数据类型 运算符: 第一种:赋值运算符 =、+=、-=、*=、/=、%= 第二种:算术运算符 +、-、*、/、%、++、-- 第三种:字符串运算符 + 第四种:比较运算符 >、<、<=、>=、==、!=、===、!== 第五种:逻辑运算符 &&、||、!、 &、 | 第六种:三目运算符 表达式1?表达式2:表达式3; 作用: 首先判断表达式1的值,如果表达式1的值为true,则取表达式2的值;如果表达式1的值为false,则取表达式2的值 ++、-- var n1=10; n1++ 代表后++ 如果使用n1++对另一个变量进行赋值,先将n1的值赋给变量,之后再加n1的值加1; ++n1 代表前++ n1=n1+1 前++、后++都会执行自加运算,但先加还是先赋值,取决于++在前还是在后,在后就是先赋值再自加;在前就是先自加再赋值。 示例: var v1=10; var v2=v1++; //此语句可以分解为以下两条语句 v2=v1; v1=v1+1 var v3=10; var v4=++v3; //此语句可以分解为以下两条语句 v3=v3+1; v4=v3; n1-- 代表后- - --n1 代表前- - 特殊运算符 . 访问对象的属性或方法 delete 删除一个数组中的某一个元素的值。 new 实例化一个对象 typeof 返回一个变量的数据类型 JS进行运算时只当数据类型相同时才会直接进行运算,如果数据类型不两只,会转换成同一种数据类型进行时候。当一个字符串与一个变量进行”+”运算时,JS会自动进行数据类型的转换,这个转换是JS自动完成的。但有时我们需对数据进行强制转换。 在form表单中获取到的数据全部都字符型 Number: 强制将其他数据类型转换为数值型 var str=”120.10”; var str=”120”; var str=”120a”; var str=””; var str=”a120”; var b1=true; var b2=false; var n1=120.10 var n2=120; var n3=undefined; var n4=NaN; String: 强制将其他数据类型转换为字符型 Boolean: 强制将其他数据类型转换为布尔类型 parseInt 从一个字符串中提取整型数值 从左向右截取,直到遇到第一个不是数字的字符(包括小数点)停止 parseFloat 从一个字符串中提取浮点型数据 从左向右截取,直到遇到第一个不是数字的字符停止 isNaN 判断一个数据是否为非数字 当一个字符串是由纯数字组成时返回false 判断循环结构(流程控制) 分支结构 单分支:语法结构 if(条件表达式){ //语句体 } 说明: 当条件表达式为真时(true),执行语句体,如果为假时,跳过if结构,继续其后语句执行 双分支:语法结构 if(条件表达式){ //语句体1 }else{ //语句体2 } 说明: 当条件表达式为真时执行,语句体1,为假是执行语句体2 双分支:语法结构 if(条件表达式1){ //语句体1 }else空格if(条件表达式2){ //语句体2 } else空格if(条件表达式3){ //语句体3 }else{ //缺省语句体 } 说明:当条件表达式1为true时,执行语句体1; 当条件表达式2为true时,执行语句体2; 当条件表达式3为true时,执行语句体3;当所有条件表达式都不成立(false)时,执行缺省语句体 swicth分支语句 使用if else可以在多条件之间进行判断,当条件成立时执行相应的语句体。当需要判断的条件很多时,JS为了一个更有效率的方法——switch; 语法结构: switch(条件表达式){ case值1: //语句体1 break; case值2: //语句体2 beak; case值3: //语句体3 break; default: //缺省语句体 } 说明:对条件表达式进行判断,当条件表达式的值与case的某个值相等时执行相应的语句体,遇到break时跳出分支结构。当所有的case值都不等于条件表达式的值时,执行default的语句体。 if分支结构与switch的区别: if结构的条件表达式是表示某一个范围或某一个具体的值 switch结构的条件表达式最终应是一个具体的值,case后的值也应该是一个具体的值或最终能转换为一个具体的值 case值:其实只是一个siwtch结构的一个入口。当遇到break的时候才会跳出switch结构 循环结构for循环结构 语法结构: for(循环控制变量;条件表达式;循环控制变量的更改){ //循环体 } for(var i=0;i<10;i++){ //你的代码 } 说明: var i=0; 是对循环控制变量初始化 i<10 是循环条件 当此循环条件为真是 执行循环体 i++ 是对循环控制变量的更改 for循环的执行过程: 1、先对循环控制变量进行初始化,此步骤只执行一次。 2、判断条件表达式是否成立,如果成立(true)则执行循环体,如果不成立则直接退出,继续执行for结构后的语句 3、执行对循环控制变量的更改 4、对循环控制变量进行更改后,使用其新值来判断条件表达式是否成立 5、循环执行2、3、4步骤,直到条件表达式不成立。 见下图:
注意: for循环中一定要有能够触发条件表达式不成功的语句 while循环结构语法结构: while(条件表达式){ //循环体 } 说明: 首先对条件表达式进行判断,当条件表达式成立时,执行循环体,当条件表达式不成立时退出循环,继续其他语句执行 do while循环结构 语法结构: do{ //循环体 }while(条件表达式); 说明:先执行循环,再对条件表达式进行判断,当条件表达式成立时,再次执行循环体,如果不成立则退出循环,继续其后语句执行。 for循环与while循环的区别: for循环一般用于循环次数已知,或者通过某种方式可确定,while循环一般用于循环次数未知的情况 鸡和兔子35只,腿一共有94条。用while循环结构求出鸡和兔子的数量各是多少 var chicken=1; var rabbit=35-chicken; var chickenleg=chicken*2; var ribbitleg=riabit*4 chickenleg+rabbitleg==94 var chicken=1; 数组array数组就是一组数据的有序集合 var arrA=[10,30,’zhangsan’,true]; 数组元素:数组中的每一个数据就叫数组元素。 数组下标:数组元素在数组中的位置。此位置是从”0”开始排序的。 如上例 数组元素10的下标为0, 数组元素30的下标为1, 数组元素”zhangsan”的下标为2, 数组元素true的下标为3, 数组长度:数组中数组元素的总个数,就叫数据的长度 如上例,此数组的长度为4 获取数组长度的一个方法: 数组名.length; 如何获取数组中的某一个元素: 数组名[数组元素的下标] 例如 arrA[3] 获取的是数组中的元素true arrA[1] 获取的是数组中的元素30 数组元素的最大下标与数组的长度之间关系:数组的长度是数组中最大元素下标加1; 我们计算数组长度的时候是从1开始数数组中元素的个数 我们描述数组元素下标的时候是从0开始 鸡和兔子35只,腿一共有94条。用while循环结构求出鸡和兔子的数量各是多少 |
|
来自: 知识书馆 > 《JavaScript》