扩展数组方法
写在前面
问:了解原型链,了解作用域,js执行顺序等等,其实在日常的开发中好像真的感觉不到,原型链,作用域,js执行顺序,包括今天写得数组扩展方法,在现在框架成熟的今天,vue,react ,js框架+element 或者antd等等,好像就用不到这些东西,是不是就不需要看这些东西了?
答:不是
其实是息息相关,因为底层是js,框架里有原型链,函数报错的时候,觉得莫名其妙,其实你可能不够熟悉js的作用域,js的执行顺序
1.关于原型链
是这样,我本来也没有给数组的原形扩展方法,故事的开始,是一个数组问题,一些装杯的小伙伴
1.1 故事的开始,手写index
小儿子说,我要手写一个数组查询某值得方法吗,其实就是indexOf么,
然后,我让大儿子写,我就是循环item==item
大儿子大概就写了这样一段
/**
*params []nums
*return bool || num
*/
//就是入参是一个数字,有值返回下标,没值返回-1,也不考虑性能
//啥的
function find (arr,num) {
for (let a = 0; a < num.length; a++ ){
if(arr[i] == num){
return i
}
}