math对象的函数:

1.Math.floor() 向下取整

  1. console.log(Math.floor(4.8)) //4

2.Math.celi() 向上取整

  1. console.log(Math.ceil(6.4)) //7

3.Math.round() 四舎五入

  1. console.log(Math.round(5.4)) //5

4.Math.max() 求最大值

  1. console.log(Math.max(5,8,9)) //9

5.Math.min() 求最小值

  1. console.log(Math.min(9,3,1)) //1

6.Math.pow()

求幂次方两个参数:第一个是底数,第二个是指数

  1. console.log(Math.pow(2,10)) //2的10次方:1024

7.Math.sqrt() 开平方

  1. console.log(Math.aqrt(16)) //4
  2. //已知直角三角形两条直角边(a, b),求斜边(c):
  3. vara,b;
  4. c= Math.sqrt(Math.pow(a,2) + Math.pow(b,2))

8.Math.abs() 求绝对值

  1. console.log(Math.abs(-3)) //3

9.Math.randon() 取( 0<= x < 1 )的随机数

  1. //取0 <= x <= 30之间的随机整数
  2. console.log( Math.floor(Math.randon()*31) )
  3. //取20 <= x <= 30之间的随机整数
  4. console.log(Math.floor(Math.randon()*11+20) )
  5. //封装一个函数,取某个范围内的随机值
  6. function f(strat,end){
  7. var count=end-start+1;
  8. return Math.floor(Math.randon()*count + start)
  9. }

数组:

1.概念特点:

1.因为JS是弱类型的的,所以数组元素可以是任何类型的(同一个数组中的元素也可以是不同类型,不推荐)
2.数组大小可以改变
3.索引(index)基于0

2.创建数组

1.数组字面量创建:

  1. var array=[]; 创建一个空数组,数组名array
  2. var array1=[1,3,5,7,9]; 创建一个长度为5的奇数数组

2.调用数组的构造函数创建

  1. var empty = newArray(); 创建一个空数组,数组名empty
  2. var array = newArray(2,4,6); 创建一个长度为3的偶数数组

3.数组的访问:

  1. 单个访问:

array[index] (index为:0,1,2,3,4….从0开始)

  1. console.log(array1[2]); //5
  2. console.log(array1[6]); //undefined
  3. array1[5] = 10; //数组array1在索引5处增
  4. //加一个元素10
  5. array1[8] = 13; //数组索引6,7跳过为索引8赋值,输出时索引6,7显示undefined,索引8显示13
  1. length属性:代表数组的长度 ```javascript console.log(array1.length); //5

//该属性可读可写: array1.length = 10; console.log(array1.length); //10

  1. 3. 数组的遍历:
  2. ```javascript
  3. //for:
  4. for(vari=0;i<array1.length;i++){
  5. console.log(array1[i])
  6. }
  7. //for in:
  8. for(var j in array1){
  9. console.log(array3[j])
  10. } // array1 是遍历时得数组,j是遍历时的索引
  11. //for in 遍历一个对象的属性:
  12. var student={};
  13. student.name = 'lay';
  14. student.age = '27';
  15. for(var property in student){
  16. console.log(property); //显示 name age
  17. console.log(student[property]); //显示 lay 27
  18. console.log(student); //显示对象的属性内容{name: "lay", age: "27"}
  19. } //其中 property为声明的变量,可以改变

4.二维数组 :

  1. 创建:

    1. var array = [
    2. [1,3,4],
    3. [3,4,5],
    4. [4,5,6],
    5. ] //数组字面量创建å
    6. var array = newArray([1,3,4],[3,4,5],[4,5,6]) //调用数组的构造函数
  2. 访问: ```javascript //单个元素访问array[rowIndex][colIndex] array[2][2] //数组array第3行第3列的元素

//某行元素访问 console.log(array[0] ) //数组array第1行的元素

//遍历: 两层循环,可以遍历所有元素 for(vari=0;i<array.length;i++){ for(varj=0;j<array[i].length;j++){ console.log(array[i][j]); } }

  1. <a name="s2MG4"></a>
  2. #### 4.数组对象的方法:
  3. <a name="bMULq"></a>
  4. ##### 1.reverse()
  5. 将数组中的元素反转
  6. ```javascript
  7. console.log(array1); //1,3,5,7,9
  8. array1.reverse();
  9. console.log(array1); // 9,7,5,3,1

2.splice( a ,b,x,y,z…)

a: 开始操作的索引位置
b: 删除的元素的个数
xyz: 要在开始操作位置插入的元素

  1. 从中间位置删除某些元素

    1. var array=[2,4,6,8,10];
    2. array.splice(2,2); // 删除array中的 6,8
    3. console.log(array); // 2 4 10
  2. 从中间位置添加某些元素

    1. array.splice(2,0,1,3,5); //在索引2处删除0个元素再加入1,3,5
    2. console.log(array); // 2,4,1,3,5,6,8,10
  3. 将数组中的某一段替换掉

    1. array.splice(1,2,1,3,5)
    2. console.log(array); // [2, 1, 3, 5, 8, 10]

    ❗️上述两个方法会改变原数组,下述的方法需要创建一个新数组

    3.join(分隔符)

    将数组中的元素,转换成字符串,进行连接。连接的分割符由参数指定
    返回值:字符串
    参数:分隔符分隔符可以是,-。< …

    1. var array1 = array.join('<');
    2. console.log(array1); // '2<1<3<5<8<10'

    4.a.concat(b)

    将数组a,与数组b连接。

    1. var array2 = array.concat(array1)
    2. console.log(array2); // [2, 1, 3, 5, 8, 10, "2<1<3<5<8<10"]

    5.slice( a,b)

    将数组进行截取,从开始位置截取到结束位置。不包含结束位置
    a: 开始操作的索引位置
    b: 结束操作的索引位置 ```javascript console.log(array); // [2, 1, 3, 5, 8, 10] array3 = array.slice(2,5);

console.log(array3); //[3, 5, 8] console.log(array); // [2, 1, 3, 5, 8, 10]

//如果一个参数也不传递,则得到的时整个数组的一个副本 array3=array.slice(); console.log(array3); // [2, 1, 3, 5, 8, 10]

//如果只传递一个参数,则该参数是开始位置,则从开始位置一直截取到数组的最后 array3=array.slice(1) console.log(array3); //[1, 3, 5, 8, 10]

//参数可以负数,代表倒数第几个 array3=array.slice(-3,-1) console.log(array3); //[5, 8]

  1. <a name="ZbHfV"></a>
  2. ##### 6.indexOf(x,a)
  3. 判断x在数组中是否存在。如果存在,返回其在数组中的索引,否则,返回-1;indexOf只返回第一个匹配元素所在位置<br />**lastIndexOf(x,a)** 倒着查找<br />x:需要索引的内容<br />a:开始查找的位置
  4. ```javascript
  5. var array=[2,4,3,6,8,10,3,5,7];
  6. console.log(array.indexOf(3) ) //2
  7. console.log(array.indexOf(3,2) ) //2
  8. console.log(array.indexOf(3,3) ) //6
  9. console.log(array.lastIndexOf(3) ) //6
  10. console.log(array.lastIndexOf(3,3) )//2