概述
用Proxy实现数组arr[-1]的访问,返回结果为数组的最后一位。
let arr = [100,200,300];
let pa = new Proxy(arr, {
//代理get方法,所有属性访问都会通过此方法
get(target, property, receiver){
/*
* target表示被代理对象本身,也就是arr
* property表示当前被访问的属性名(字符串类型)
* receiver表示代理对象,也就是pa
*/
if(/^-d+$/.test(property)) { //根据正则判断是否为负数
return target[target.length+Number(property)];
}
return target[property]; //如果访问的属性不是负数,则正常返回
}
})
//测试
console.log(pa[0]) // 100
console.log(pa[1]) // 200
console.log(pa[2]) // 300
console.log(pa[-1]) // 300
console.log(pa[-2]) // 200
console.log(pa[-3]) // 100
最后
以上就是繁荣画板为你收集整理的前端企业面试题:企业真实案例——36的全部内容,希望文章能够帮你解决前端企业面试题:企业真实案例——36所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复