字符串
验证
- 1:验证一个字符是否存在 可以用一下方式:
- 1.1 for + if
- str.indexOf()
- 2:验证一个字符串片段是否存在
- 2.1 indexOf()
- 2.2 正则表达式
学习 api 思路
- 1:这个 api 是哪一个对象下的
- 2:api 的作用是什么?
- 复制实例代码。查看运行结果,推测作用
- 3:api 的实参是做什么的?
- 参数是回调函数
- api 中回调函数都是自动执行,可能执行多次或单次
- 回参的值是什么
- 回调函数中return的作用是什么(相对 api 来说,意义是什么)
- 4:api 的返回值是什么?
- 5:总结什么情况下能用到?
- 6:深入:结合 1 2 3 4 完成 api 的模拟。使用 function for if return …
封装函数的思路:
- 0:确定函数名
- 1:确定作用是什么
- 2:确定是否有返回值,如果有:确定返回值是什么类型的数组
- 2.0 告诉函数外界,函数的运算结果是什么
- 2.1 如果是字符串,初始化空字符 return
- 2.2 如果是数组,初始化空数组 return
- 2.1 如果是对象,初始化空对象 return
- 2.1 如果是num,初始化0 return
- 2.1 如果是bool,初始化false/true return
- 2.1 如果是不知道,初始化null return
- 3:确定形参,(我要完成这个功能需要外界哪些内容)
- 4:根据外界提供的数据以及预期输出的结果,来完成方法体中的编码
- 4.1 分析原始值是什么?输出是什么
- 4.2 怎末做才能得到输出预期
- 4.3 先写一个静态的,哪怕是自己写的结果。
- 再想怎么用代码来代替手写的结果
- 再想多个静态的,怎么变成动态的
- 在重复的代码中找规律(用代码实现找到的规律)
数组 API
首先,我们先来探讨一下学习 API 的方法。
- 我们要知道什么是 API
- 是哪个对象上的 api
- api 的作用是什么
- api 的参数是什么,参数作用是什么 api 的参数是什么,参数作用是什么
- 返回值是什么
数组 API 列举
- arr.some()
- 是数组 API
- 作用:检查数组中是否存在满足某个条件的元素
- 参数:回调函数
- 返回值:true 存在 false 不存在
- 注意:与验证是否存在某个元素不同
//用法
//验证arr数组中是否存在2的倍数,如果存在,返回 true 如果不存在 返回 false
var arr = [1, 3, 2, 5, 4];
var res = function (element) {
return element % 2 == 0;
};
console.log(arr.some(res)); //true
- 模拟 some()
var arr = [1, 3, 2, 5, 4];
function some(arr, callback) {
var flag = false;
for (var i = 0; i < arr.length; i++) {
if (callback(arr[i])