javascript
喝啤酒的猫
这个作者很懒,什么都没留下…
展开
-
JavaScript(九):函数防抖和节流
函数防抖和节流前言函数节流(throttle)使用场景函数防抖(debounce)使用场景区别前言一些浏览器事件,window.onresize、window.onmousemove等,触发的频率非常高,会造成浏览器性能问题;如果向后台发送请求,频繁出发,也会对服务器造成不必要的压力。那么如何限制事件处理函数频繁调用呢?就是函数节流和函数防抖函数节流(throttle)函数触发后,会...原创 2020-04-09 22:13:06 · 104 阅读 · 0 评论 -
JavaScript(八):继承的七种方式
一、原型链继承、构造函数继承、两者组合继承-原型链继承让父类的实例作为子类的原型,将子类的原型构造器补充完整 (为了让子类继承方法)做法:(1)让子类的原型是父类的一个实例;(2)手动给字类的原型添加构造器function Father(name,age){ this.name = name; this.gender = 'male'; this.num = [...原创 2020-03-01 22:15:00 · 102 阅读 · 0 评论 -
JavaScript(七):闭包及相关面试题
如何产生闭包(条件)函数嵌套内部函数引用外部函数的局部变量使用了外部函数(调用了外部函数)闭包是什么理解一: 闭包是嵌套的内部函数(绝大部分人)理解二: 包含被引用变量(函数)的对象(极少数人)理解三: 所谓的闭包是一个引用关系,该引用关系存在于内部函数中,引用的是外部函数的变量的对象(深入理解)常见的闭包将函数作为另一个函数的返回值将函数作为实参传递给另一个函数调用...原创 2020-03-01 19:08:41 · 145 阅读 · 0 评论 -
JavaScript(六):原型和原型链
原型对象1、什么是原型对象?每一个构造函数都拥有一个prototype属性,这个属性指向一个对象,也就是原型对象。原型对象是默认是 Object 的实例对象,也就是说原型对象是Object 用 new 出来的一个函数对象在定义的时候,伴随它出现的另外一个对象就是原型对象;所用的对象默认都是 Object 的实例对象原型对象默认拥有一个constructor属性,指向指向它的那个构造函...原创 2020-02-20 23:57:49 · 131 阅读 · 0 评论 -
JavaScript(五):作用域和作用域链
作用域定义变量 起作用的区域范围分类es5: 全局作用域 、 局部作用域(也叫函数作用域)es6 新增:块级作用域【注意】当局部里面有一个变量没有写var的时候:1、看看这个变量是不是形参,如果是形参,当作局部变量处理2、如果这个变量没有带var,同时形参也没有这个变量,接下来看看全局当中是否有这个变量,有就是操作全局变量的值;如果没有这个全局变量,相当于是函数内部和外部都没有定义...原创 2020-02-16 21:54:23 · 92 阅读 · 0 评论 -
Javascript自定义滚动条
一、基本布局页面的最外层是document,紧接着是初始包含块 html body,其次是我们的元素我们禁止了系统的滚动条,(因为各大浏览器的系统滚动条风格不一,有可能会影响我们的页面布局,难看)body当中我们一般会有最外的一个盒子模拟body区域,在这个盒子的右侧会定位一个盒子模拟滚动条css: html,body{ height:100%; over...原创 2020-02-15 13:52:31 · 215 阅读 · 0 评论 -
Javascript拖拽原理
一、拖拽的原理1、鼠标按下(onmousedown)拿到元素的初始位置和鼠标的初始位置2、鼠标移动(onmousemove)拿到鼠标最后的位置,计算出鼠标的距离差,并根据距离差求出元素的最终位置元素最终的位置 = 元素的初始位置 + 鼠标的距离差3、鼠标松开(onmouseup)在up事件当中需要将鼠标的move事件和up事件一起解绑pc端mousemove事件不会自动解绑,我们需...原创 2020-02-13 22:57:43 · 476 阅读 · 0 评论 -
JavaScript(四):引用数据类型——函数
引用数据类型——函数概念函数定义字面量定义函数表达式定义函数调用函数三要素作用域定义分类作用作用域链概念具有某种特定功能的代码块函数定义字面量定义function 函数名(){}函数表达式定义var 函数名 = function(){}函数调用本质上是函数调用表达式;这个表达式整体的值就是函数定义当中return后面的值;如果函数定义当中没有写return,那么其实相当于...原创 2020-02-06 10:15:21 · 128 阅读 · 0 评论 -
JavaScript(三):引用数据类型——数组
引用数据类型——数组概念定义字面量定义构造函数定义案例数组去重冒泡排序数组求和求数组最大值,最小值,平均值反转数组找出数组中的所有偶数打印,奇数生成新数组概念具有相同或不同数据类型的数据的有序集合定义字面量定义var arr = [ 1 , 2 , 3 ]字面量定义本质上也是在使用构造函数定义,可以看成是构造函数的简写构造函数定义var arr = new Array (1,2,...原创 2020-02-05 14:55:21 · 200 阅读 · 0 评论 -
JavaScript(二):流程控制语句相关及案例
流程控制语句相关及案例一、switch....case基本原理案例输入一个数字,判断是星期几输入分数,判定优良差和不及格二、for循环执行过程死循环案例打印1-100之间的偶数计算1到100的和计算1-100之间所有偶数的和打印矩形打印正三角形打印倒三角形打印等腰三角形打印乘法口诀表打印三位数位上有3或者7的数字计算100的阶乘 1*2....*100 100!求1!+2!+3!+...+20...原创 2020-02-05 12:13:27 · 257 阅读 · 0 评论 -
JavaScript(一):数据类型转换
JS数据类型转换强制转换Number()原始类型值对象String()原始类型值对象Boolean()自动转换强制转换强制转换主要指使用Number()、String()和Boolean()三个函数,手动将各种类型的值,分别转换成数字、字符串或者布尔值。总结一下,这三个对象作为构造函数使用(带有new)时,可以将原始类型的值转为对象;作为普通函数使用时(不带有new),可以将任意类型的值,转...原创 2020-02-04 20:22:28 · 179 阅读 · 0 评论