ES5
一、基本数据类型与引用数据类型的区别
基本数据类型:值在栈区
引用数据类型:值在堆区
二、深浅拷贝
如何实现一个深拷贝
JSON 递归
三、随机函数的书写
四、变量的提升
if形成{}
局部变量不适用var声明
五、==和===区别
==值相等就可以 ===值和数据类型都相等
六、if与switch的区别
switch判断变量
switch更高效
七、array数组
1.排序:
冒泡排序
快速排序
选择排序
2.数组去重
八、string
1.substr和substring的区别:
substr(a,b),可以从下标为a的位置开始截取,一直截取到下标为b的位置,(取头取尾)
substring(a,b),可以从下标为a的位置开始截取,一直截取到下标为b-1的位置,(取头取不到尾)
2.反转字符串
九、计时器
十、BOM
location:保存当前文档信息,将URL解析为独立片段
navigator.userAgent
navigator:提供一系列属性用于检测浏览器
userAgent:浏览器嗅探和检测浏览器的类型
十一、EVENT
1.什么是事件对象
当你触发了一件事件以后,对该事件的一些描述信息
2.over out 与 enter leave区别
建议使用enter和leave,over和out在指针进入子级标签时会触发
3.冒泡与捕获
捕获:文档从根节点到目标节点(从上到下)
冒泡:文档从目标节点到根节点(从下到上)
4.DOM0 和DOM2
dom0只能添加一件事件的响应
dom2可以添加多个事件的响应
5.阻止冒泡 阻止默认
默认事件:是元素默认会触发的事件
阻止默认:e.preventDefault()
冒泡事件:事件由子级传向父级
阻止冒泡:e.stopPropagation()
6.事件委托:e.target
7.RegExp-验证手机号 邮箱
十二、oop
1.new的作用是什么
参数
返回值
2.简述new的工作原理
(1)创建一个对象
(2)根据原型链,设置空对象_proto_为构造函数prototype
(3)将构造函数的作用域赋给这个对象,将构造函数中this指向该对象
(4)执行构造函数中的代码,为这个对象添加属性
(5)返回这个对象
3.三大特征:
封装
继承
多态
4.call()与apply()区别
call(this,参数1,参数2)
apply(this,[参数列表])
5.什么是原型,原型的作用
原型:原型用来节省内存空间
作用:公共资源写在原型中,原型是一块独立的内存空间,本质是对象
6.原型链
对象调用属性或方法的寻找过程
先在自己的构造函数中寻找,如果没有就到自己的原型中寻找,如果还没有,就到原型的原型中寻找,一直找到object的原型,如果还没有就报错
————————————————
版权声明:本文为优快云博主「欢lele」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/m0_57517704/article/details/126898259