var arr =[88,90,59,"80"];for(var i =0; i < arr.length; i++){// console.log(arr[i]); //88 90 59 80 //88 90 59是数字类型 80是字符串类型}
console.log(arr[0]);//88
console.log(arr[1]);//90
console.log(arr[2]);//59
console.log(arr[3]);//80(字符串类型)
console.log(arr[4]);//undefined
console.log(arr);//得到的是一个数组 [88, 90, 59, "80"]
2.数组方法
push()
功能:往数组的末尾添加元素。
格式: 数组变量名.push(元素1,元素2…);
返回值:插入元素后的数组的长度。
pop()
功能:从数组的末尾取下一个元素。
格式: 数组变量名.pop();
返回值:取下的元素。
shift()
功能:从数组的头部取下一个元素。
格式:数组变量名.shift();
返回值:取下的元素。
unshift()
功能:往数组的头部添加元素。
格式:数组变量名.unshift(元素1,元素2…);
返回值:插入元素后的数组的长度。
例:
var a =newArray(10,20,30);var b = a.push(40,50);
console.log(a);//[10, 20, 30, 40, 50]
console.log(b);//5var a =newArray(10,20,30);var b = a.pop(40,50);
console.log(a);//[10, 20]
console.log(b);//30var a =newArray(10,20,30);var b = a.shift(40,50);
console.log(a);//[20, 30]
console.log(b);//10var a =newArray(10,20,30);var b = a.unshift(40,50);
console.log(a);//[40, 50, 10, 20, 30]
console.log(b);//5
functiongetMax(x, y){if(x > y){
document.write(x)//19 15return x;}else{
document.write(y)return y;}}
console.log(getMax(19,16));//19getMax(15,14);functiongetMaxcd(){var c =15;var d =14;if(c > d){
document.write(c)//15}else{
document.write(d)//不执行}}getMaxcd();//15functiongetMax(){
console.log("执行了一次");//执行了一次var a =10;var b =12;if(a > b){return a;}else{return b;}}var max =getMax();
console.log(max);//12functiongetMax(a, b){if(a > b){return a;}else{return b;}}
3.封装函数
封装函数的步骤:
将同属于一个功能的代码抽离出来,作为函数的执行语句,放在函数体{}中。
分析有没有不确定的值。将不确定的值作为形参。
如果需要对执行的结果进行不同的操作处理,则定义返回值。否则,可以不需要。
例:
// 无参数无返回值。functiongetSum(){var sum =0;for(var i =1; i <=100; i++){
sum += i;}
console.log(sum);//什么也没有}// 无参数有返回值functiongetSum(){var sum =0;for(var i =1; i <=100; i++){
sum += i;}return sum;}什么也没有// 有参数有返回值functiongetSum(n){var sum =0;for(var i =1; i <= n; i++){
sum += i;}return sum;}var sum =getSum(200);
document.write(sum);//20100
console.log(sum);//20100
5.arguments
问题:参数不固定怎么办?
arguments:
每个函数都有一个arguments。使用存储传入的参数。
arguments的结构类似于数组。(伪数组:不能使用数组的一些方法。但是用法与数组类似。)
使用形参:让代码更容易阅读和理解。
使用方法:
访问第n个参数: arguments[n]
获取最后一个参数:arguments[arguments.length-1]
获取参数的个数:arguments.length
案例练习
打印100-200之间所有能被3或者7整除的数。
functionfn(a, b){var arr =newArray();for(var i = a; i <= b; i++){if(i %3==0|| i %7==0){
arr.push(i);}}return arr;}var ar =fn(100,200);
console.log(ar);for(var i =0; i < ar.length; i++){
document.write(ar[i]+',');}
定义一个函数,计算三个数的大小,返回最大值。
functiongetMax(a, b, c){if(a >= b && a >= c){return a;}elseif(b >= a && b >= c){return b;}else{return c;}}
console.log(getMax(16,15,18));//18
functionencrypt(){var num =Number(prompt("请输入一个四位数"));//随便输入4位数 // 例:2589if(num >=1000&& num <=9999){//千位var q =parseInt(num /1000);//百位var b =parseInt(num /100)%10;//十位var s =parseInt(num /10)%10;//个位var g = num %10;
q +=5;
b +=5;
s +=5;
g +=5;
q = q %10;
b = b %10;
s = s %10;
g = g %10;
num =""+ g + s + b + q;return num;}else{alert("瞎吗?四位数!!")}}alert(encrypt());//4307
创建表格函数:
创建一个函数,用来创建表格,参数:行和列
动态拼接一个字符串。字符串中包含html标签。
var r =Number(prompt("请输入行数!"));var c =Number(prompt("请输入列数"));functioncreateTable(row, col){var str ='<table class="table table-striped table-bordered">';// 添加trfor(var i =0; i < row; i++){
str +='<tr>'// 添加tdfor(var j =0; j < col; j++){
str +='<td>'+(i +1)+'行'+(j +1)+'列</td>';}
str +='</tr>';}
str = str +'</table>';
document.write(str);}createTable(r, c);