JS09

前一天知识点
1 数组
定义和长度的改变
遍历 for 、for in 、for of
常用方法
拼接数组 concat 案例:数组拼接
数组拼接成字符串 join(’’) 案例:字符串拼接
删除 pop() shift() splice()
新增 push unshift splice()多个
插入 splice(索引,删除的个数设为0)
注意:搞一个新的数组,把原数组前面的值push进去,然后push要插入的值,最后把原数组后面的值再push进去。
排序 sort
反向 reverse
查找 indexOf includes lastIndexOf some
注意:some里面是回调函数
截取 slice
2 案例
排序
冒泡 每相邻的两个值都要比较 i i+1
选择 永远拿一个值和其他所有值作比较 j i(i = j + 1)

Array.isArray
arguments 实参的数组
案例: 随机取出数组里面的某一个值

去重
方法一:indexof 判断新数组是否存在
方法二:那一个固定的值与其他的每一个都做比较 ,有重复就删除 数组塌陷

=====================================================
上午:
1、函数自调用 回调函数
2、数组的扩展方法(迭代方法:里面都是回调函数
every()
some()
filter 数组
forEach 遍历 没有返回值
map 遍历操作数据
归并方法:reduce 三个参数,经过对数据的操作,得到一个值 【例如:求和】

下午:
1 字符串定义方式2种方式【重点】
直接定义:var str = ‘avd’;
.通过构造函数 var str1 = newString(‘df4fgb’);

字符串属性
1)length 只能获取 不能赋值
注意:不能通过length来改变字符串的长度(数组的话既能获取 又能赋值 )
2 索引
注意:字符串不能通过索引来改变字符串的长度
需用通过+来拼接字符串

2 字符串的常用方法
str.charAt() 通过【索引找到对应的值】
str.charCodeAt 通过【索引找到字符 unicode 编码】:
String.fromCharCode 将【unicode码转为对应的字符】
str.toUpperCase() 字母转大写
str.toLowerCase() 字母转小写
indexOf() 如果未找到文本, indexOf() 和 lastIndexOf() 均返回 -1。
注意:除了数字跟布尔类型 字符串都是要加引号
lastIndexOf() 最后一次出现的
slice(start,end) 【索引】
concat() 拼接字符串 也可以拼接数组
substring(0,2) 开始的索引 结束的索引截掉 【前闭后开】 跟slice一样的

substring() 类似于 slice()。
不同之处在于 substring() 无法接受负的索引。

substr**(索引,截取的个数**)
trim() 去掉字符串【首尾的空格中间的不会去掉
split() 根据分割符切割 【字符串转为数组】
replace() 替换【只能替换第一个·】

3、字符串的遍历
for、for in、for of 【注意:for in、for of都是用来遍历数组跟对象,而字符串也是对象,所以可以用for in、for of】

3对象的定义方式------非常重要
第一种字面量:var obj = { }
第二种调用系统函数:var obj = new Object();
第三种自定义构造函数:var per =new Person();

案例
1、自己尝试封装数组方法
2、排序(必须掌握)
3、数组产生随机数(必须掌握)
4、数组的遍历:for/forin/for of/ for each
注意for each是数组专用方法 没有返回值
4-1 深拷贝(值,你有一本书我有一本书)、浅拷贝(地址 2个人共用一本书)
4-2 值传递和引用传递(引用传递就是浅拷贝)
案例:arguments实参构成的数组 封装concat方法(未知数组的长度 这里用的是arguments)
5、统计重复出现的字符次数)(字符串)
6、去重 (数组跟字符串)
7、验证码

字符串案例:
1、屏蔽关键字
2、截取文件后缀名(常用)
3、验证码(数组变为字符串):最少保留一位数字
4、字符串去重
5、字符串统计重复出现的字符次数

1、函数自调用 回调函数

   一、 函数的自调用  一般用匿名函数!!
       (function (n){
    
    
           console.log(1)
       })  ()


    二、回调函数:在一个函数里面,函数作为形参使用
    function fn(ran){
    
    
        var ran = Math.round(Math.random()*10);
        return ran;
    }
    function new1(aa){
    
     //这里的aa是个函数
        var res = aa;
        console.log(res);
    }
    new1(fn());  //第一种调用随机数
    
    new1(function fn(n){
    
    
        var ran = Math.round(Math.random()*n);
        return ran;
    }(8)) //(8)传了参数   第二种调用

2、数组的扩展方法(迭代方法:里面都是回调函数

 arr = [1, 2, 3, 4, 5];
        // 一、every  判断数据里面的每一条数据是否都满足条件  --- 判断
        var res = arr.every(function (val, i) {
    
    
            return val > 2
        })
        console.log(res)  //flase

        // 二、some 判断是否有符合条件的数据  --- 判断
        var res = arr.some(function (val, i) {
    
    
            return val > 2
        })
        console.log(res) //true

        // 三、filter 返回满足条件的数据形成的新的数组 -- 返回的是数据
        var res = arr.filter(function (val, i) {
    
    
            return val > 20
        })
        console.log(res) //[]空数组

        // 四、foreach遍历每一个数据  ---- 没有返回值  --- 不能写返回值,写了也没用
        var arr = [1, 2, 3, 4, 5];
        var sum = 0;
        arr.forEach(function (val, i) {
    
    
            sum += val;
        })
        console.log(sum); //15

        //五、 map 操作数据里面的每一个数据  --- 改变数组里面的数据
        var arr = [1, 2, 3, 4, 5];
        var sum = 1;
        arr.map(function (val, i) {
    
    
            sum *= val
        })
        console.log(sum); //120

        //六、 reduce
        var res = arr.reduce(function (sum, val, i) {
    
    
            return (sum + val)
        })
        console.log(res);

2 字符串的常用方法

str.charAt() 通过【索引找到对应的值】
str.charCodeAt   通过【索引找到字符 unicode 编码】:
String.fromCharCode  将【unicode码转为对应的字符】
str.toUpperCase() 字母转大写
str.toLowerCase()  字母转小写
indexOf() 如果未找到文本, indexOf()lastIndexOf() 均返回 -1。
注意:除了数字跟布尔类型  字符串都是要加引号
lastIndexOf()  最后一次出现的
slice(start,end) 【索引】  
concat() 拼接字符串 也可以拼接数组
substring(0,2) 开始的索引  结束的索引截掉 【前闭后开】 跟slice一样的

substring() 类似于 slice()。
不同之处在于 substring() 无法接受负的索引。

substr(索引,截取的个数)
trim()  去掉字符串首尾的空格  中间的不会去掉
split()  根据逗号进行切割  【字符串转为数组】字符串切割成数组
replace() 替换

猜你喜欢

转载自blog.csdn.net/weixin_48651630/article/details/107102865
今日推荐