强制类型转换
Number 强制将其他数据类型转换为数值型
String 强制将其他数据类型转换为字符型
Boolean 强制将其他数据类型转换为布尔型
一般都不是真实存的都会转换为false
parseInt 从字符串中提取整型数据 从左向右提取,直遇到第一个不为数字的字符(包含小数点)
parseFloat 从字符串中提出浮点数 从左向右提取,直遇到第一个不为数字的字符
isNaN 判断一个字符串是否是纯数字字符串,如果不是一个纯数字字符串返回true
流程控制
分支结构
if(条件表达式){
//语句体
}
if(条件表达式){
//语句体1
}else{
//缺省语句体
}
if(条件表达式1){
//语句体1
}else if(条件表达式2){
//语句体2
} else if(条件表达式3){
//语句体3
} else if(条件表达式4){
//语句体4
}else{
//缺省语句体
}
switch结构
switch(条件表达式){
case值1:
//语句体1
break;
case值2:
//语句体2
break;
case值3:
//语句体3
break;
default:
//缺省语句体
}
if结构与switch结构区别
if结构的条件表达式一般判断的是一个范围
switch结构判断的具体的某个值
循环结构
for(循环控制变量初始化;循环条件;循环控制变量更改){
//循环体
}
执行过程:
1、 循环控制变量初始化,只执行一次
2、 判断循环条件是否成立,成立则执行循环体,不成立则直接退出
3、 对循环控制变量进行更改,
4、 使用更改后的循环控制变量的值再判断循环条件是否成立
while循环结构
while(条件表达式){
//循环体
}
do{
}while(条件表达式)
while与do… while的区别
while是先判断条件表达式,再根据条件表达式的结果去执行循环体
do…while是先执行循环体,再判断条件表达式是否成立,(无论条件表达式成立与否,循环体至少会执行一次,)
for结构与while结构的区别
for一般用于已知循环次数或循环次数可能通过某种方式确定,while循环一般用于,循环次未知。
作业讲解:
break; 中止当前循环结构
continue; 中止当前的本次循环,继续下一次循环
数组:一组数据的有序集合
数组元素:数组中每一个数据叫称为数组元素
元素素下标:数组中数组元素的位置,此位置是从”0”开始,
数组的长度:数组中元素的个数。 数组名.length;
数组的长度是数组中最在元素下标+1;
如何访问数组中的元素: 数组名[元素下标];
第一种方法:
叫隐式声名(数组直接量)
var arrA=[10,20,’zhangsan’,true,null,undefined]
数组中的元素可以是JS中的任意数据类型
var arrB=[5];
第二种方法:
使用new关键字与Array构造函数
var arrC=new Array();
数组的操作(CRUD)
访问一个数组元素
数组名[元素下标];
对数组元素的更改
var arrA=[10,20,’zhangsan’,true,null,undefined];
arrA[2]=”lisi”;
增加一个数组元素
var arrA=[10,20,’zhangsan’,true,null,undefined];
删除一个数组元素的值
delete(arrA[2])
二维数组可以形象理解为一个二维表格;
在JS中没有绝对意义上的二维数组,但由于JS中可以将一个数组赋值给另一个数组元素。
二维数组的定义:
第一种方法:
方式1、
直接创建一个二维数组
var stus=[
[“lisi”,20,true],
[“zhsang”,30,false,”php01”],
[“wangwu”,28,true]
];
方式2、
//先创建一个一维数组
var stus2=[];
//再为每一个一维数组的元素赋值一个数组
stus2[0]=[10,20,30];
stus2[1]=["a","b","c"];
stus2[2]=["I","II","III"];
二维数组增加元素
数组名[行下标][列下标]=值
二维数组元素的访问
数组名[行下标][列下标];
二维数组元素的更改
数组名[行下标][列下标]=值;
二维数组元素值的删除
delete(数组名[行下标][列下标]);
第二种方法:
使用new关键字与Array构造函数创建二维数组
var stus3=new Array([10,20,30],["a","b","c"],["I","II","III"]);
课堂案例:
将我们班级的三名同学的信息,存放在一个二维数组中,并在页面以表格形式输出?
for in循环结构
语法结构
for(index in数组名或对象名){
//循环体
}
index是一个变量,此变量在循环开始时会被自动声,此index变量中存放的就是数组元素的下标
var arrA=[10,20,30,true,’zhangsan’];
for(var i=0;i<arrA.length;i++){
alert(arrA[i]);
}
for(index in arrA){
document.write(arrA[index]);
}
window.confirm() 属于window对象的一个confirm方法,弹出一个确认对话框,当用户点击确定时返回true,当用户点击取消或关闭窗口时返回false;
confirm单词意义确认
示例:
var con=window.confirm("您是否需要转帐");
if(con){
alert("您好的500万已帐成功");
}else{
alert("您未进行转账");
}
从代码上看,函数就是使用”{}”,将一段代码”封装”起来,半赋予一个名子。
函数就是完成某一功能的程序单元。
函数的定义
语法结构:
function函数名(形参1,形参2,形参3..){
//函数体
[return值];
}
说明:
1、 function:是一个关键字,全部小写
2、 函数名 命名规则与变量一样,只能包含字母、下划线、数字,但是必须的以字母或下划线开头
3、 不能是系统关键字或保留字
4、 形参1 也是一个变量,其对外不可见。(在定义的时候的变量叫形式参数),形参可以没有
5、 return用于向函数调用者,返回结果。当函数遇到此语句就会立即停止。
6、 当实际传递的参数个数多于形参个数时,多余的实参会被忽略;当实际传递参数的个数小于形参的个数时,多于个形参的值为undefined;
7、 arguments是一个对象,形如一个数组,可以使用访问数组元素的方式访问存存在argumets对象中的参数,arguments存储的是函数调用时传递进来的参数。
函数的调用:
函数名(实际参数1,实参2,实参3…);
JS有一个Object对象
使用Object对象创建对象
示例:
var person=new Object();
person.weight=200;
person.height=180;
person.married=true;
person.dance=function(){
alert("I'm dancing,I'm happy");
}
person.dance();
var n1=30;
var str=”zhangsan”;
var b1=true;
基本数据类型,一个数据对应一个对应一个变量名
数组 :
var arr=[20,30,true,”zhangsan”];
多个数据对应一个对象,多个数据共同拥有一个名字
对象:
var person1={name:'zhangsan',age:29,marraiaged:true};
多个数据对就一个对象,多个数据又各自有各自的名字
内存存储形式:
基本数据类型存放在栈区
复合数据类型存放在堆区
标识符:变量名、函数名、数组名统称叫标识符,引用变量或进行数据的传递
var n1=10; //定义一个变量
var n2=n1; //将n1的值传递给n2
示例:
function func1(){
return 20;
}
var func2=func1; //授人渔 将函数在存中的首地址赋值给func2
var func3=func1(); //授人鱼 将函数运行的结果赋值给func3
变量的作用域和生存周期
变量的作用域就是变量的有效范围。
全局作用域:定义在函数个部的变量他的作用域就是全局作用域,全局作用域的变量可以在任何位置进行访问。
与局部作用域:定义在函数内部的变量他的作用域就是局部作用域。默认只能定义他的函数内访问。
JS的作用域链,当在函数内部对一个变量进行操作时,JS会在当前(作用域)函数内寻找对此变量的声名(var),如果没对此变量的声名那么就会向上一层作用域去寻找,直到找到对此变量的声名不止;如果直到全局作用域都无此变量的声名,则在全局作用域内声名此变量。
示例:以下作用域形如上图
<script type="text/javascript">
function func1(){
function func3(){
}
}
function func2(){
}
</script>
局部变量的生存周期为函数运行期间,
全局变量的生存周期为页面打开至页面关闭。
js中有两种数据传递方式
传值(赋值传值):传递的是值
基本数据类型使用传值方式
传址(引用传值):传递的是内存地址
复合数据类型使用的是传址方式
示例:内存结构如上图
<script type="text/javascript">
var n1=100;
var n2=n1;
n2=200;
var str1="zhangsan";
var str2=str1;
str2="lisi";
var arr1=[10,20,30];
var arr2=arr1;
arr2[0]=100;
alert(arr1[0]);
</script>
联系客服