![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JavaScript
HonGL54
前端
展开
-
JS获取字段在数组内的下标
function getArrayIndex(arr, obj) { let i = arr.length while (i--) { if (arr[i] === obj) { return i } } return -1 }原创 2020-07-11 11:21:35 · 1079 阅读 · 0 评论 -
JS常用继承
原型继承将父类的实例作为子类的原型构造继承将父类的构造函数在子类执行一次,等于是复制父类的实例属性给子类(没用到原型)实例继承为父类实例添加新特性,作为子类实例返回组合继承通过调用父类构造,继承父类的属性并保留传参的优点,然后通过将父类实例作为子类原型ES6 使用class extends继承...原创 2020-05-18 01:26:05 · 173 阅读 · 0 评论 -
防抖节流
防抖:在规定的间隔时间里,只执行最后一次操作,中途有影响,就重新计时。例:电梯开关门const debounce = (func, wait = 100) => { let timer = 0 return function (...args) { if (timer) { console.log("有人进来,重新计时") ...原创 2020-04-09 16:12:51 · 104 阅读 · 0 评论 -
var、let、const区别,什么是提升
函数提升优先于变量提升,函数提升会把整个函数挪到作用域顶部,变量提升只会把声明挪到作用域顶部var 存在提升,我们能在声明之前使。let、const 因为暂时性死区的原因,不能在声明前使用,否则会报错。var 在全局作用域下声明变量会导致变量挂载在 window 上,let和const不会。let a = 10;console.log(window.a) // undefine...原创 2020-04-06 15:04:39 · 177 阅读 · 1 评论 -
浅拷贝和深拷贝
浅拷贝:拷贝所有的属性值到新的对象中,如果属性值是对象的,拷贝的则是地址。Object.assign(): let p1 = { age : 10, jobs:{ first:'xxx' } } let p2 = Object.assign({} , p1); p1.age = 20; p1.jobs.first = 'zzz'; console.log...原创 2020-04-05 21:59:32 · 672 阅读 · 0 评论 -
JS XMLHttpRequest
XMLHttpRequest 对象用于在后台与服务器交换数据。var xhr = new XMLHttpRequest()xhr.onreadystatechange = function () { if (xhr.readyState == 4 && xhr.status == 200) { console.log(xhr.responseText) }}x...原创 2020-04-03 10:24:22 · 236 阅读 · 0 评论 -
JS事件绑定
var demo = document.getElementById('demo')demo.addEventListener('click', function (event) { // event.preventDefault() // 阻止默认行为 // event.stopPropagation() // 阻止冒泡 console.log('clicked')})...原创 2020-04-03 09:56:30 · 175 阅读 · 0 评论 -
ES6模块化
使用命名导出export { a, b, c};import { a, b, c} from 'xxx.js';使用默认导出// module "my-module.js"export default function cube(x) { return x * x * x;}import cube from 'my-module.js';console.log(cube(...原创 2019-12-23 17:40:39 · 104 阅读 · 0 评论