前端面试题整理——手写简易jquery
2024-10-10 20:23:33
class jQuery {
constructor(selector) {
const result = document.querySelectorAll(selector)
console.log(result)
const length = result.length
for (let i = 0; i < length; i++) {
this[i] = result[i]
}
this.length = length
}
get(index) {
return this[index]
}
each(fn) {
for (let i = 0; i < this.length; i++) {
const ele = this[i]
fn(ele)
}
}
on(type, fn) {
return this.each(ele => {
ele.addEventListener(type, fn, false)
})
}
} //考虑扩展性
//插件
jQuery.prototype.dialog = function (info){
alert(info)
}
//复写机制
class MyJQuery extends jQuery{
constructor(selector){
super(selector)
}
addClass(className){}
style(data){}
} //使用
const jq = new jQuery('p')
console.log(jq.get(0))
jq.each(function(el){
console.log(el)
})
jq.on('click',function(el){
console.log(el)
})
考点:
- 原型和原型链的理解
- dom操作
最新文章
- qt qml qchart 图表组件
- hihocoder1241 Best Route in a Grid
- JAVA利用Zip4j解压缩【转】
- paip. uapi 过滤器的java php python 实现aop filter
- CSS和JS实现单行、多行文本溢出显示省略号(该js方法有问题不对)
- [原]NYOJ 括号匹配系列2,5
- dubbo注册服务IP解析异常及IP解析源码分析
- Windows 8和CentOS 6.4(64)双系统硬盘安装教程
- cad 画 tp图
- margin 属性的相关问题
- 201521123113 《Java程序设计》第3周学习总结
- [编织消息框架][netty源码分析]12 ByteBuf 实现类UnpooledDirectByteBuf职责与实现
- Gradle 1.12用户指南翻译——第二十三章. Java 插件
- mysql插件的初始化
- cf166e 在四面体上寻找路线数 递推,取模
- Bukkit插件编程中.yml配置文件的创建和读取
- Linux环境下的Scala环境搭建
- .NetCore 使用 Linq 动态拼接Expression表达式条件来实现 对EF、EF Core 扩展查询排序操作
- double 和 im2double 的区别
- CentOS7修复python拯救yum - 转载
热门文章
- c# 反射实现模型深拷贝
- Spring注解简析
- 那些年踩过的坑---java篇
- Casbin入选2022 Google编程之夏
- 基于pytorch实现Resnet对本地数据集的训练
- ASP.NET Core框架探索之Authorization
- Spring Boot 自定义Starter 可能引发的问题(Error)
- ubuntu21.10搭建jenkins和gitlab自动化部署环境
- J20航模遥控器开源项目系列教程(五)| 制作STM32F0接收机,8路PWM输出,SBUS输出,PPM输出 | 加密狗无线化,畅玩飞行模拟器
- 查找bug的一些经验总结