JavaScript零基础学习系列三
####函数 函数:为了完成某个功能而定义的代码的集体。函数是数据类型,只读的对象;函数也是对象;代码的重用。(JavaScript中) 定义语法:function 函数名(形式参数1,形式参数2……){ //代码,这些代码叫做函数体 Renturn 某值; } 调用语法:函数名(实际参数1,实际参数2……); 形式参数和实际参数必须是一对一,函数调用的时候和定义的时候必须是相同的名字,return的时候,只能是值,形式参数和实际参数可以有很多个。 函数名: 不能和系统关键字相同 让函数名有意义 作用域: 全局变量:所有地方都能用的变量函数外部申明的变量 局部变量:在函数内部申明的变量就是局部变量 Return详解 return返回某个值,return可以返回true和fasle值。 return就是返回的意思【return可以让函数停止不执行】 例子: function getC(a,b){ var sum = a*a + b*b; var c = Math.pow(sum,0.5); return c; } var c = getC(8,6); document.write(c); 写一个函数:已知圆的半径求任意圆的面积。
系统函数
NaN:表示不是数字
isNaN:是一个非数字true
isfinite:测试一个数是否是无穷大
parseInt():转化为整数
parseFloat():转化为浮点数
parseInt(6.2); //6
递归函数
函数本身调用函数本身的这种形式,必须有个能够让函数停止继续调用的条件。
例如:
function digui(i){
if(i<1){
return false;
}
document.write(i);
digui(i-1);
}
digui(100);
数组
若干数据的集合,JavaScript中只有索引数组没有关联数组。
定义一维数组:
1、var arr1=[1,2,4];
2、var arr = new Array(1,3,5);
3、var arr2 =new Array(4);
arr2[0] = 1;
arr2[1] = 1;
arr2[2] = 1;
arr2[3] = 1;
定义多维数组:
1、var arr =[
[12,313,44],
[2323,455,655],
[12,3445,66]
];
2、var arr1 = [12,313,44];
var arr2 = [2323,455,655];
var arr3 = [arr1,arr2];
二维数组的遍历方法:
function dataMath(a){
var i=a[0];
for(var j=1;j<=a.length-1;j++) {
if(i<a[j]){
i=a[j];
}
}
document.write(i);
}
数组案例
求最大值;
function getMax(arr){
var max = arr[0];
for(var i=1;i<arr.length-1;i++){
if(max<arr[i]){
max = arr[i];
}
}
return max;
}
var arr2 = [123,12454,1456,4566];
var max = getMax(arr2);
document.write(max);
求:平均值、最小值、总和
var sum=0;
var count=0;
var arr=[
[11,2,3,4,5],
[44,5,79,1,89],
[99,78,3,7,47],
];
function func(){
var arr_len1=arr.length;
for(var i=0;i<arr_len1;i++){
var arr_len2=arr[i].length;
for(var j=0;j<arr_len2;j++){
sum+=arr[i][j];
count++;
}
}
document.write("总和是"+sum+"平均数为"+sum/count);
}
func(arr); //函数调用
function minNumber(){
var min=arr[0][0];
for(var i=0;i<arr.length-1;i++){
for(var j=0;j<arr[i].length-1;j++){
if(min>arr[i][j]){
min=arr[i][j];
}
}
}
return min;
}
数组合并: var arr1 = [12,344,55]; var arr2 = [233,55,66]; var arr = []; var arr3 = arr.concat(arr1,arr2); //将数组合并; console.log(arr3); //查看 arr.join(250); //添加元素 console.log(arr);
数组函数
arr.push(); //往数组里添加元素;
arr.pop(); //删除数组最后一项并返回;
arr.sort(); //排序
arr.reverse(); //翻转数组;
字符串函数
str.indexOf();//获取字符首次出现的下标;
str.lastIndex();//str.lastIndex(".")
str.toUpperCase();//装换成大写形式;
str.toLowerCase() //转换成小写形式;
CharCodeAt();//获取Unicode编码;
substr(数1,数2)//截取长度;
math函数
math对象;
Math.pow();// 求次方
Math.abs();// 求绝对值
Math.round();//四舍五入的值;
Math.max(); //最大值
Math.min(); //最小值
Math.floor();//向下取整;
Math.ceil();//向上取整;
随机数
Math.floor(Math.random()(大的数-小的数+1))+小的;
var data = Math.floor(Math.random()(90-60+1))+60;
document.write(data);
作业
1、循环,逻辑分析)输入一个小于10的正整数(比如5),输出如下图案:
55555
4444
333
22
1
22
333
4444
55555
2、(函数,逻辑)定义一个函数,该函数用于判断所给的年份数是否是一个闰年——函数带一个参数作为年份数,返回结果是一个布尔值。
3、(函数)定义一个函数,该函数可以计算任意两个正整数的“弦”值(即勾股定律的斜边长)——函数带2个参数,返回一个数字值。
4、(数组)定义一个数组,并给出6个初始值,代表本小组同学的各自年龄,求本小组同学的平均年龄。
5、(数组)定义一个数组,并给出7个任意的初始数值,求该数组中的最大值和最小值以及各自的下标各为多少?
6、(数组)定义一个数组,并给出8个任意的初始数值,求该数组中大于平均值的数的个数,和小于平均值的数的个数。
7、(数组)定义一个数组,输入9个任意的整数,求该数组中奇数的个数和奇数的平均值。