Javascript如何实现继承
JavaScript想实现继承的目的:重复利用另外一个对象的属性和方法 一,原型链继承 让一个构造函数的原型是另一个类型的实例,那么这个构造函数new出来的实例就具有该实例的属性。 当试图访问一个对象的属性时,它不仅仅在该对象上搜寻,还会搜寻该对象的原型,以及该对象的原型的原型,依次层层向上搜索,直...
请解释什么是事件委托/事件代理
什么是事件委托 事件委托也称之为事件代理(Event Delegation)。是JavaScript中常用绑定事件的常用技巧。顾名思义,“事件代理”即是把原本需要绑定在子元素的响应事件委托给父元素,让父元素担当事件监听的职务。事件代理的原理是DOM元素的事件冒泡 先看一个示例: 例1.1设置一个无序...
说说你对作用域链的理解
一、作用域 作用域,即变量(变量作用域又称上下文)和函数生效(能被访问)的区域或集合 换句话说,作用域决定了代码区块中变量和其他资源的可见性 举个例子 function myFunction() { let inVariable = "函数内部变量"; } myFunction();//要先...
异步加载js的方法
一、为什么要写异步加载 ①js加载本身是属于同步加载的,加载js文件会阻塞文档,一旦网速不好,那么整个网站将等待js加载而不进行后续渲染等工作。但是有些工具方法需要按需加载,有一些工具js文件它是不会改变页面的,用到再加载,不用不加载。 ②但是实际开发中我们只需要把script标签放在页面的最下面。...
js拖拽功能的实现
如果要设置物体拖拽,那么必须使用三个事件,并且这三个事件的使用顺序不能颠倒。 1.onmousedown:鼠标按下事件 2.onmousemove:鼠标移动事件 3.onmouseup:鼠标抬起事件 拖拽的基本原理就是根据鼠标的移动来移动被拖拽的元素。鼠标的移动也就是x、y坐标的变化;元素的移动就是...
未命名
1、clientHeight:表示的是可视区域的高度,不包含border和滚动条;2、offsetHeight:表示的是可视区域的高度,包含了border和滚动条3、scrollHeight:表示了所有区域的高度,包含了因为滚动被隐藏的部分;4、clientTop:表示边框border的厚度,在未指...