ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

JavaScript基础学习笔记 day04

2021-10-17 20:58:52  阅读:128  来源: 互联网

标签:console log JavaScript 笔记 day04 length 数组 var 函数


1.数组

1.1数组的意义及创建

  • 数组:一组数据的集合,将一组数据存储在单个变量
  • 创建方式
		//1、利用new创建数组
        var arr = new Array();
        //2、利用数组字面量创建数组
        var arr = [];//常见用法
        var arr1 = [1,2,'啦啦啦',true];//数组中的数据一定要用逗号分隔开
        //3、数组里面的数据,我们称为元素,数组里的元素可以是任意类型

1.2访问数组元素

  • 数组的索引(下标),用来访问数组元素的序号(从0开始
 		var week = ['周一','周二','周三','周四','周五','周六','周日']
        console.log(week[6]);//周日
  • 扩展
		week.forEach(function(item,index){
            console.log(item);
        });

1.3遍历数组

  • 把数组中的元素从头到尾都访问一遍
  1. 数组名[索引号]
		var color = ['red', 'pink', 'blue', 'green','aqua'];
        console.log(color[0]);//输出red
        console.log(color[3]);//输出green
  1. 通过for循环索引遍历数组
		for (var i = 0; i < color.length; i++) { //使用“数组名.length”可以访问数组元素的数量(数组长度)
            console.log(color[i]);
        }
  1. 注意
    • 因为数组索引号从0开始,所以 i 必须从0开始
    • 输出的时候 i 计数器当索引号来用
    • 此处数组的长度是数组元素的个数 ,不要和数组的索引号混淆
    • 当我们数组里面的元素个数发生了变化,这个** length 属性跟着一起变化**
  2. 案例
		//求数组的和及平均值
        var sum = 0;
        var num = [2, 6, 1, 7, 4];
        for (var i = 0; i < num.length; i++) {
            sum = sum + num[i];//我们加的是数组元素 num[i],不是计数器
        }
        var average = sum / num.length;
        console.log(`这个数组的和是${sum}`);//输出20
        console.log(`这个数组的平均值是${average}`);//输出4
		//求数组的最大值
        var num1 = [2, 6, 1, 77, 52, 25, 7,87,5,95];
        var max = num1[0];
        for(var i = 1; i < num1.length; i++){
            if(num1[i] > max){
                max = num1[i];
            }
        }
        console.log(`这个数组的最大值是${max}`);//输出95

1.4数组中新增元素

  1. 数组中新增元素 修改length长度
		var arr = ['red', 'green', 'blue', 'pink'];
        console.log(arr.length);
        arr.length = 7;//把我们数组的长度修改为了7,里面应该有7个元素
        console.log(arr);
        console.log(arr[4]);//没有赋值,默认是undefined
  1. 数组中新增元素 修改索引号
		arr[4] = 'hotpink';
        arr[5] = 'lightgreen';
        arr[6] = 'aqua';
        console.log(arr[4]);
        console.log(arr[5]);
        console.log(arr[6]);
  1. 注意:如果索引号被占用,原有元素会被替换;不要直接给数组名赋值,否则里面的数组元素都没有了
  2. 案例
		//将数组中大于等于10的数字筛选出来组成新的数组
        //方法一
        var str1 = [2, 0, 6, 1, 77, 0, 52, 0, 25, 7];
        var str2 = [];
        var j = 0
        for(var i = 0; i < str1.length; i++){
            if(str1[i] >= 10){
                //新数组从0开始,依次递增
                str2[j] = str1[i];
                j++;
            }
        }
        console.log(str2);//输出数组[77,52,25]

        //方法二
        var str1 = [2,6, 1, 77, 52, 0, 25, 7,34,6];
        var str2 = [];
        for(var i = 0; i < str1.length; i++){
            if(str1[i] >= 10){
                str2[str2.length] = str1[i];//刚开始str2.length就是0,存了一个值之后,length自动变化
            }
        }
        console.log(str2);//输出数组[77,52,25]

1.5数组案例

  1. 将数组[2, 0, 6, 1, 77, 0, 52, 0, 25, 7]中的0去掉,形成一个不包含0的新数组
		var str = [2,0,6,1,77,0,52,0,25,7];
        var newstr = [];
        for(var i = 0; i < str.length; i++){
            if(str[i] != 0){
                newstr[newstr.length] = str[i];
            }
        }
        console.log(newstr);//输出数组[2,6,1,77,52,25,7]
  1. 要求: 将数组 [‘red’, ‘green’, ‘blue’, ‘pink’, ‘purple’] 的内容反过来存放
		var color = ['red', 'green', 'blue', 'pink', 'purple'];
        var newcolor = [];
        for(var i = color.length - 1; i >= 0; i--){//for(var i = 0; i < color.length; i++){
            newcolor[newcolor.length] = color[i]//newcolor[i] = color[color.length - i - 1];
        }//}
        console.log(newcolor);

1.6冒泡排序

  • 冒泡排序 ,是一种算法,把一系列的数据按照一定的顺序进行排列显示(从小到大或者从大到小)
		var str = [5, 4, 3, 2, 1];
        for (var i = 0; i < str.length - 1; i++) { //外层循环管趟数
            for (var j = 0; j < str.length - i - 1; j++) { //里层循环管次数
                if (str[j] > str[j + 1]) { //内部交换两个变量的值,前一个和后一个相比较
                    var temp = str[j];
                    str[j] = str[j + 1];
                    str[j + 1] = temp;
                }
            }
        }
        console.log(str);//输出数组[1,2,3,4,5]

2.函数

2.1函数的意义及使用

  • 函数,就是封装了一段可被重复调用执行的代码块。通过此代码块可以实现大量代码的重复使用
  1. 声明函数
		function 函数名() {
            函数体代码
        }
  • 注意:
    1. function 是声明函数的关键字,必须小写
    2. 由于函数一般是为了实现某个功能才定义的,所以通常我们将函数名命名为动词,比如 getSum
  1. 调用函数 函数名()
		function sayHi(){
            console.log('hi~');
        }
        sayHi();
  1. 注意:
    1. 调用的时候千万不要忘记添加小括号
    2. 口诀:函数不调用,自己不执行
    3. 声明函数本身并不会执行代码,只有调用函数时才会执行函数体代码
  2. 函数案例
		//计算1-100的和的值的函数
        function getsum(){//声明一个函数
            var sum = 0;
            for(var i = 1; i <= 100; i++){
                sum += i;
            }
            console.log(sum);
        }
        getsum();//调用函数

2.2函数中的实参与形参

  • 定义:在声明函数时,可以在函数名称后面的小括号中添加一些参数,这些参数被称为形参;在调用该函数时,同样也需要传递相应的参数,这些参数被称为实参
  • 作用,在函数内部某些值不能固定,我们可以通过参数在调用函数时传递不同的值进去
		// 带参数的函数声明
        /* function 函数名(形参1, 形参2, 形参3等) { 形参是接受实参的,类似于一个变量
            函数体
        }
        函数名(实参1, 实参2, 实参3等);   参数可以有也可以没有,个数不限,用逗号分开*/ 
  • 案例
		//利用函数求两个数的和
        function getsum(num1, num2, num3) {
            console.log(num1 + num2 + num3);
        }
        getsum(4, 8,8);//12
        getsum(5,23);//28

2.3补充函数相关

  • 函数参数的传递过程

    1. 调用的时候实参值是传递给形参的
    2. 形参简单理解为:不用声明的变量
    3. 实参和形参的多个参数之间用逗号(,)分隔
    • 函数形参和实参个数不匹配问题

      1. 实参个数与形参个数相同时,输出正确结果
      2. 实参个数大于形参个数时,只取到形参的个数
      3. 实参个数小于形参个数时,多的形参定义为undefined,结果为NaN
    • 注意,在JavaScript中,形参的默认值是undefined

    2.4函数的返回值return

    • return语句,将函数的值返回给调用者
		// 声明函数
        /* function 函数名(){
            return 需要返回的值;
        }
        函数名(); 此时调用函数就可以得到函数体内return 后面的值*/
  • 注意:
    1. 在使用 return 语句时,函数会停止执行,并返回指定的值
    2. 如果函数没有 return ,返回的值是 undefined
  • 案例
		//1、利用函数求任意两个数的最大值
        function getmax(num1,num2){
            return num1 > num2? num1 : num2;
            /* if(num1 > num2){
                return num1;
            }else{
                return num2;
            } */
        }
        console.log(getmax(34,65));  
        console.log(getmax(76,23));
		//2、利用函数求任意一个数组中的最大值
        function getMax(arr){
            var max = arr[0];
            for(var i = 1; i < arr.length; i++){
                if(arr[i] > max){
                    max = arr[i];
                }
            }
            return max;
        }
        var arr1 = [3,5,8,12,54,32,18];
        // var max1 = getMax(arr1);
        // console.log(max1);
        console.log(getMax(arr1));
  • 补充:
    1. 使用return时,函数会停止执行,之后的语句不再执行
    2. return只能返回一个值,有多个值时,返回最后一个

3.一些作业中的案例

  1. 写一个函数,用户输入一个数判断是否是素数,并返弹出回值(又叫质数,只能被1和自身整数的数)
        var num = +prompt('请输入一个正整数');
        function getprime(num){
            for(var i = 2; i < num; i++){
                if(num % i == 0){
                    return '不是';
                }
            }
            return '是';
        }
        console.log(getprime(num));
  1. 简易计算器,用户可以选择计算方法及输入数字
		var choose = prompt('欢迎使用简易计算器:' + '\n' + '1,加法计算;' + '\n' + '2,减法计算' + '\n' + '3,乘法计算' + '\n' + '4,除法计算' +'\n' + '5,退出' + '\n' + '请输入您的选项');
        if (choose == 5) {
            alert('退出');
        } else {
            var num1 = +prompt('请输入第一个数');
            var num2 = +prompt('请输入第二个数');
            alert(getresult(num1, num2));
        }
        function getresult(num1, num2) {
            if (choose == 1) {
                return num1 + num2;
            } else if (choose == 2) {
                return num1 - num2;
            } else if (choose == 3) {
                return num1 * num2;
            } else if (choose == 4) {
                return num1 / num2;
            }
        }

标签:console,log,JavaScript,笔记,day04,length,数组,var,函数
来源: https://blog.csdn.net/dengsiyao/article/details/120815518

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有