1900年1月1日是星期一
1900年1月30日是星期二
2018年6月12日
year:2018
month:6
day:12
从 1900年 开始 到 year-1年 整年相加
从year年 1月 到 month-1月 整月相加
再加day
日 一 二 三 四 五 六
1 2
3 4 5 6 7 8 9
10
=============================================
1、循环的嵌套
允许在一个循环的内部再出现循环
for(var i=1;i<=10;i++){
for(var j=1;j<=10;j++){
for(var k=1;k<=10;k++){
}
}
}
练习:
1、在控制台上打印输出
* 1 : 4个空格1个星
*** 2 : 3个空格3个星
***** 3 : 2个空格5个星
******* 4 : 1个空格7个星
********* 5 : 0个空格9个星
*******
*****
***
*
空格:5-行数
星星:2*行数-1
console.log()
2、在控制台上打印九九乘法表
*
**
***
****
*****
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
2、函数
1、什么是函数
函数,即 function,是一段预定义好,可以独立执行并包含多条执行语句的代码块
优点:
1、多条执行语句的封装
2、实现了代码的复用
2、在JS中创建函数
function 函数名(参数列表){
函数体
[返回值]
}
参数列表:
如果没有参数,可以为空
如果有参数,就编写参数列表。如果参数是多个的话,各个参数之间使用","隔开。
有参数的函数,在调用时就要传参,如果未传参的话,参数的值就是undefined
ex1:
function show(){
console.log("这是一个无参函数");
console.log("调用时不需要传参");
}
ex2:
function show(name){
console.log(name);
}
function show(name,age){
console.log(name);
console.log(age);
}
返回值:
在函数体内,经过运算后,需要传递给函数调用者的一个值,就是返回值。
返回值是可选的,有返回值的话,需要使用 return 进行返回,最多只能返回一个值
ex
function show(name){
return "你好:"+name;
}
3、函数的调用:
在任意的JS合法的位置处,都允许做函数的调用
var ret = 函数名(参数列表);
有参数,则传参,否则,为空
有返回值,可以接收,否则不接收
练习:
改版日期计算器为函数版本
1、整体功能要封装到函数中
2、将闰年判断的功能提出来独立成一个函数
1、接收一个参数表示年份
2、返回一个boolean值表示是否为闰年的结果
3、整体功能中,所有的闰年判断通过函数调用完成
4、通过 按钮 的单击操作,来调用日期计算器
4、变量的作用域
1、什么是变量的作用域
变量的作用域指的是变量的可访问范围
2、作用域的分类
1、局部变量
使用var关键字声明在某个函数内的变量,都是局部变量
局部变量只能在声明的函数内使用,出了函数则无法使用
2、全局变量
1、在function之外声明的变量都是全局变量
2、声明变量不使用var关键字的时候,都是全局变量
全局变量可以应用在各个函数中以及各个位置处
注意:全局变量,推荐放在所有的function之外,使用var关键字去声明
3、数组 - Array
1、什么是数组
数组(Array)是一个用于保存批量数据的数据结构
数组是按照线性结构来保存数据的
2、创建数组
1、创建一个空数组
var 数组名 = [];
2、创建数组并初始化元素
var 数组名 = [元素1,元素2,... ...];
3、创建一个空数组
var 数组名 = new Array();
4、创建数组并初始化元素
var 数组名 = new Array(元素1,元素2,...);
注意:
var 数组名 = new Array(length);
length 表示是初始化的长度,length为number类型
练习:
1、创建网页04-array.html
2、创建一个数组分别保存
奥巴马,特朗普,金正恩,普京,默克尔
3、在控制台中打印数组中的值
3、数组的使用
获取 或 设置数组的元素值,一律使用下标
下标从0开始,到数组元素个数-1结束
1、将 arr1 数组中的第一个元素更改为"马克龙"
arr1[0] = "马克龙";
2、打印输出 arr1 数组中的第三个元素
console.log(arr1[2]);
4、获取数组的长度
属性:length
用法:数组名.length
1、使用场合
1、能够找到数组中,最新要插入元素的位置(即向数组尾部增加元素时使用)
var names = ["刘德华","张学友","郭富城","谭咏麟"];
//向 names 的尾部追加新元素
names[names.length] = "黎明";
练习:
让用户循环的从弹框中录入数据,并将录入的数据保存在一个数组中,直到输入 exit 结束(exit不存)。最后打印数组中所有的内容
2、清空数组
将数组的length属性设置为0,即表示清空数组中所有的元素
3、配合循环,遍历数组中的每一个元素
var arr = ["金正恩","金正日","金日成"];
//从头遍历到尾
for(var i=0;i<arr.length;;i++){
console.log(arr[i]);
}
//从尾遍历到头
for(var i=arr.length-1;i>=0;i--){
console.log(arr[i]);
}
练习:
1、创建一个包含若干整数的数组,找出该数组中的最大值,并打印
2、创建一个只包含三个数字的数组,将三个数字按照从小到大的方式存放在数组中,并打印
3、声明一个数组包含若干数字;从弹框中录入一个数字,判断该数字在数组中的下标是多少
如果存在:提示下标
如果不存在:提示数据不存在
5、常用API
1、toString()
作用:将数组转换成字符串,将转换后的字符串进行返回
var arr = ["孙悟空","猪八戒","沙僧"];
console.log(arr.toString());
结果:孙悟空,猪八戒,沙僧
console.log("数组:"+arr);
2、join(seperator)
作用:返回一个由seperator连接的数组元素的字符串
var arr = ["孙悟空","猪八戒","沙僧"];
var str=arr.join('-');
console.log(str);
/*孙悟空-猪八戒-沙僧*/
3、reverse()
作用:反转
注意:该函数会改变现有数组的结构
4、sort()
1、作用
对现有数组的内容进行排序
默认是按照元素的unicode码升序排序
2、注意
该函数会改变现有数组的结构
3、允许通过自定义的排序规则(排序函数)来指定数字的排序方式
语法:arr.sort(排序函数);
1、升序的排序函数
function sortAsc(a,b){
return a-b;
}
1、将sortAsc指定为排序函数
2、数组会自动的将相邻的两个数字传递到参数的位置处
3、如果返回值是 > 0的数字的话,则交换两个数字的位置,否则不变
指定排序函数:
arr.sort(sortAsc);
2、使用匿名函数指定排序规则
匿名函数:是一个没有名称的函数,只为某一功能而存在
arr.sort( function(a,b){return a-b;} );
作业:
随意从弹框中输入一个数字
将该数字转换成二进制再输出
[除二取余法]
1900年1月30日是星期二
2018年6月12日
year:2018
month:6
day:12
从 1900年 开始 到 year-1年 整年相加
从year年 1月 到 month-1月 整月相加
再加day
日 一 二 三 四 五 六
1 2
3 4 5 6 7 8 9
10
=============================================
1、循环的嵌套
允许在一个循环的内部再出现循环
for(var i=1;i<=10;i++){
for(var j=1;j<=10;j++){
for(var k=1;k<=10;k++){
}
}
}
练习:
1、在控制台上打印输出
* 1 : 4个空格1个星
*** 2 : 3个空格3个星
***** 3 : 2个空格5个星
******* 4 : 1个空格7个星
********* 5 : 0个空格9个星
*******
*****
***
*
空格:5-行数
星星:2*行数-1
console.log()
2、在控制台上打印九九乘法表
*
**
***
****
*****
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
2、函数
1、什么是函数
函数,即 function,是一段预定义好,可以独立执行并包含多条执行语句的代码块
优点:
1、多条执行语句的封装
2、实现了代码的复用
2、在JS中创建函数
function 函数名(参数列表){
函数体
[返回值]
}
参数列表:
如果没有参数,可以为空
如果有参数,就编写参数列表。如果参数是多个的话,各个参数之间使用","隔开。
有参数的函数,在调用时就要传参,如果未传参的话,参数的值就是undefined
ex1:
function show(){
console.log("这是一个无参函数");
console.log("调用时不需要传参");
}
ex2:
function show(name){
console.log(name);
}
function show(name,age){
console.log(name);
console.log(age);
}
返回值:
在函数体内,经过运算后,需要传递给函数调用者的一个值,就是返回值。
返回值是可选的,有返回值的话,需要使用 return 进行返回,最多只能返回一个值
ex
function show(name){
return "你好:"+name;
}
3、函数的调用:
在任意的JS合法的位置处,都允许做函数的调用
var ret = 函数名(参数列表);
有参数,则传参,否则,为空
有返回值,可以接收,否则不接收
练习:
改版日期计算器为函数版本
1、整体功能要封装到函数中
2、将闰年判断的功能提出来独立成一个函数
1、接收一个参数表示年份
2、返回一个boolean值表示是否为闰年的结果
3、整体功能中,所有的闰年判断通过函数调用完成
4、通过 按钮 的单击操作,来调用日期计算器
4、变量的作用域
1、什么是变量的作用域
变量的作用域指的是变量的可访问范围
2、作用域的分类
1、局部变量
使用var关键字声明在某个函数内的变量,都是局部变量
局部变量只能在声明的函数内使用,出了函数则无法使用
2、全局变量
1、在function之外声明的变量都是全局变量
2、声明变量不使用var关键字的时候,都是全局变量
全局变量可以应用在各个函数中以及各个位置处
注意:全局变量,推荐放在所有的function之外,使用var关键字去声明
3、数组 - Array
1、什么是数组
数组(Array)是一个用于保存批量数据的数据结构
数组是按照线性结构来保存数据的
2、创建数组
1、创建一个空数组
var 数组名 = [];
2、创建数组并初始化元素
var 数组名 = [元素1,元素2,... ...];
3、创建一个空数组
var 数组名 = new Array();
4、创建数组并初始化元素
var 数组名 = new Array(元素1,元素2,...);
注意:
var 数组名 = new Array(length);
length 表示是初始化的长度,length为number类型
练习:
1、创建网页04-array.html
2、创建一个数组分别保存
奥巴马,特朗普,金正恩,普京,默克尔
3、在控制台中打印数组中的值
3、数组的使用
获取 或 设置数组的元素值,一律使用下标
下标从0开始,到数组元素个数-1结束
1、将 arr1 数组中的第一个元素更改为"马克龙"
arr1[0] = "马克龙";
2、打印输出 arr1 数组中的第三个元素
console.log(arr1[2]);
4、获取数组的长度
属性:length
用法:数组名.length
1、使用场合
1、能够找到数组中,最新要插入元素的位置(即向数组尾部增加元素时使用)
var names = ["刘德华","张学友","郭富城","谭咏麟"];
//向 names 的尾部追加新元素
names[names.length] = "黎明";
练习:
让用户循环的从弹框中录入数据,并将录入的数据保存在一个数组中,直到输入 exit 结束(exit不存)。最后打印数组中所有的内容
2、清空数组
将数组的length属性设置为0,即表示清空数组中所有的元素
3、配合循环,遍历数组中的每一个元素
var arr = ["金正恩","金正日","金日成"];
//从头遍历到尾
for(var i=0;i<arr.length;;i++){
console.log(arr[i]);
}
//从尾遍历到头
for(var i=arr.length-1;i>=0;i--){
console.log(arr[i]);
}
练习:
1、创建一个包含若干整数的数组,找出该数组中的最大值,并打印
2、创建一个只包含三个数字的数组,将三个数字按照从小到大的方式存放在数组中,并打印
3、声明一个数组包含若干数字;从弹框中录入一个数字,判断该数字在数组中的下标是多少
如果存在:提示下标
如果不存在:提示数据不存在
5、常用API
1、toString()
作用:将数组转换成字符串,将转换后的字符串进行返回
var arr = ["孙悟空","猪八戒","沙僧"];
console.log(arr.toString());
结果:孙悟空,猪八戒,沙僧
console.log("数组:"+arr);
2、join(seperator)
作用:返回一个由seperator连接的数组元素的字符串
var arr = ["孙悟空","猪八戒","沙僧"];
var str=arr.join('-');
console.log(str);
/*孙悟空-猪八戒-沙僧*/
3、reverse()
作用:反转
注意:该函数会改变现有数组的结构
4、sort()
1、作用
对现有数组的内容进行排序
默认是按照元素的unicode码升序排序
2、注意
该函数会改变现有数组的结构
3、允许通过自定义的排序规则(排序函数)来指定数字的排序方式
语法:arr.sort(排序函数);
1、升序的排序函数
function sortAsc(a,b){
return a-b;
}
1、将sortAsc指定为排序函数
2、数组会自动的将相邻的两个数字传递到参数的位置处
3、如果返回值是 > 0的数字的话,则交换两个数字的位置,否则不变
指定排序函数:
arr.sort(sortAsc);
2、使用匿名函数指定排序规则
匿名函数:是一个没有名称的函数,只为某一功能而存在
arr.sort( function(a,b){return a-b;} );
作业:
随意从弹框中输入一个数字
将该数字转换成二进制再输出
[除二取余法]