2018-04-21

Javascript基础3

1.数组

  • 数组是一组数据类型
  • 数组可以存储很多项,有顺序,很多项形成一个集合,这个集合就是数组Array;
  • 数组的字面量就是[];
     var Array = [];
    
  • 如何获取数组中的数据

索引/下标 ,数组中的第一项的索引是从0开始;

var names = ['kk','wxf','ps','ps1'];
console.log(names[0]); //'kk'
console.log(names[1]); //'wxf'
console.log(names[2]); //'ps'
console.log(names[3]); //'ps1'
console.log(names[4]);  //underfind

//动态插入/修改元素
names[0]='xxxx';
names[4] ='keke';
console.log(names[0]);
console.log(names[4]);

// 获取数组中的每一项 (遍历数组)
var names = ['kk','wxf','ps','ps1'];
for (var i = 0; i <= names.length; i++){
    console.log(names[i]);
}

// 倒着获取数组中的每一项
 var names = ['kk','wxf','ps','ps1'];
 for (var i =names.length-1;i >=0 ;i--){
     console.log(names[i]);
 }

 //给空数组添加值
 var scrols = [];
     console.log(scrols);
 for(var i = 0;i<10;i++){
     scrols[i] = i;
 }
 console.log(scrols);

 //清空数组
 var names = ['kk','wxf','ps','ps1'];
 names.length = 0;
 console.log(names);
  • 求数组的和和平均值
  var numbers = [35, 12, 35, 90, 11, 12];
  var sum = 0; //定义和为0
  var avg;
  for(var i = 0; i < numbers.length; i++){
      sum += numbers[i] //相加 sum = sum + numbers[i];
  }
  avg = sum / numbers.length;
  console.log('数组中所有数的和'+sum);
  console.log('数组中所有数的平均值'+avg);
  • 求数组中的最大值和最小值
  //方法1
  var numbers = [35, 12, 35, 90, 11, 12];
  var max = numbers[0];
  var min = numbers[0];
  var maxIndex = 0;
  var minIndex = 0;
  for (var i = 0;i < numbers.length; i++){
      if(max < numbers[i]){
          //把最大值赋给比较大的那个数
          max = numbers[i];
          maxIndex = i; //获取索引
      }
      if(min > numbers[i]){
          min = numbers[i];
          minIndex = i;
      }
  }
  console.log('最大值'+max);
  console.log('最大值的索引'+maxIndex);
  console.log('最小值'+min);
  console.log('最小值的索引'+minIndex);

  //方法2
   /* Math是js中的数学方法集合,applay上下文调用后面的课程会详讲;
  Math.max(42,52)取2个值中的最大值 52
  Math.min(42,33)取2个值中的最小值 33
  Math.max.apply(null,arr) 取数组中的最大值
  Math.min.apply(null,arr) 取数组中的最小值*/
  var max1 = Math.max.apply(null,[12,234,45,678,1234,43]);
  var min1 = Math.min.apply(null,[12,234,45,678,1234,43]);
  console.log(max1);
  console.log(min1)
  • 分隔数组(字符串)

1.for循环

var names = ['王五','刘洋','天爸','杨洋','养养眼'];
// 定义一个变量等于数组的第一项
var sum = names[0];
//定义分隔符
var separator = '|';
//循环遍历拼接字符串和分隔符
for(var i = 1;i < names.length;i++){
   sum += separator + names[i];
}
console.log(sum);

2.join() :用分隔符,组合数组,生成字符串

 var names = ['王五','刘洋','天爸','杨洋','养养眼'];
 console.log(names.join('|'));
  • 筛选数组: 将数组中多余的部分去掉,重新组合
  var nums = [12,0,13,34,0,67,0];
  var Array = []
  for(var i = 0; i< nums.length; i++){
      if(nums[i]!==0){
          // array[array.legth] = 1;
          // array[0] = 1;
          //将数字从新插入数组,Array.length相当于索引
       Array[Array.length] = nums[i];
      }
  }
  console.log(Array)
  • 翻转数组:将数组的位置倒过来
  var nums = [12,13,34,0,67];
  var Array = [];
  for (var i = nums.length-1;i >= 0;i--){
      Array[Array.length] = nums[i]; //从后往前交换索引
  }
  console.log(Array);
  • 冒泡排序
   //冒泡排序,从小到大的排序
   var numbers = [35, 12, 36, 90, 11, 18];
   //控制趟数,每一次找到最大的那个数
   for(var i = 0; i < numbers.length-1;i++){
       //内层循环,控制比较的次数把最大的往后移,最小的往前移;
       for(var j = 0; j< numbers.length-1-i;j++){
           if(numbers[j] > numbers[j+1]){
               var temp = numbers[j];
               //交换
               numbers[j] = numbers[j+1];
               numbers[j+1] = temp;
           }
       }
   }
   console.log(numbers)

2.函数:

把一段相对独立的具有特定功能的代码块封装起来,形成一个独立实体,就是函数,起个名字(函数名),在后续开发中可以反复调用.

  • 封装
  • 一次封装多次调用;
  • 手动调用;

1.函数的参数

  • 函数的声明:可以在函数定义前调用
   function 函数名sayHi(){
    函数体
   }
   //调用函数
  //  用函数名调用,可以多次调用
  sayHi();
  • 函数表达式:不可以在函数前调用
      var sayHi(); = function(){
          函数体
      }
      //调用函数
      // 函数名
      sayHi();
  • 函数的形参和实参

形式参数:在声明一个函数的时候,为了函数的功能更加灵活,有些值是固定不了的,对于这些固定不了的值。我们可以给函数设置参数。这个参数没有具体的值,仅仅起到一个占位置的作用,我们通常称之为形式参数,也叫形参。

实际参数:如果函数在声明时,设置了形参,那么在函数调用的时候就需要传入对应的参数,我们把传入的参数叫做实际参数,也叫实参。

  //求1-n之间所有数的和
         var sum = 0;
         //n 形式参数
         function getSum(n){
             for(var i = 0;i <= n;i++){
                 sum += i
             }
             console.log(sum);
         }
         getSum(3);

         //求n-m之间所有数额和
         var sum1 = 0;
         // n1 m 形式参数
         function getSum1(n1,m){
             for(var j = n1;j <= m;j++){
                 sum1 += j;
             }
             console.log(sum1);
         }
         getSum1(1,2);

3.函数的返回值

return 可以拿到函数的结果,返回函数的值
return跳出函数后面的代码不会执行
如果函数没有return则返回undefined;
若你不需要返回值,你直接调用函数即可,不需要用变量来接受它的返回值
console.log(fn()); //第一步调用函数; 第二步打印出来

      //函数返回值的语法
      //声明一个带返回值的函数
      function 函数名(形参1, 形参2, 形参...){
      //函数体
      return 返回值;
      }
      //可以通过变量来接收这个返回值
      var 变量 = 函数名(实参1, 实参2, 实参3);
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 函数和对象 1、函数 1.1 函数概述 函数对于任何一门语言来说都是核心的概念。通过函数可以封装任意多条语句,而且...
    道无虚阅读 4,961评论 0 5
  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,596评论 0 13
  • 前言 把《C++ Primer》[https://book.douban.com/subject/25708312...
    尤汐Yogy阅读 9,688评论 1 51
  • 10月1日,星期日,阴 今天是国庆节,我却上班忙碌了一天。女儿和她舅舅、舅妈、表弟一起回乡下去了。等我晚上下班也回...
    月儿贝贝阅读 257评论 0 0
  • 巡香记,小酒轻酌,许愿轻说,道红尘是非恩怨几多,浮名不尽怎知对与错。 湘菜阁,四人一桌,笙歌落落,论职场干戈宏图云...
    小庶公子阅读 300评论 0 0

友情链接更多精彩内容