随笔分类 - JavaScript
摘要:class FormDataDTO1 { id; name; sex; remark; } class FormDataDTO2 extends FormDataDTO1 { age; address; } const formData1 = new FormDataDTO1(); const fo
阅读全文
摘要:有的npm包使用原生js没问题,换ts后某些包会报“Could not find a declaration file for module”的错误。 有以下两种方式解决 1、下载 @type/报错包(部分包开发者可能没有上传自己的.d.ts代码到npm分支,这时会报错说找不到这个包,别急看下一步)
阅读全文
摘要:// 深拷贝 export function deepClone(obj) { if (obj null) return null if (typeof obj !== 'object') return obj if (obj.constructor Date) return new Date(ob
阅读全文
摘要:// 转中文 chinese(type:any){ switch(type) { case 'number': return '数值'; case 'string': return '字符'; case 'option': return '选项'; case '1': return '是'; cas
阅读全文
摘要:JS的两种定时器 window.setTimeout([function],[interval]) 设置一个定时器,并且设定了一个等待的时间,当到达时间后,执行对应的方法,当方法执行完成定时器停止。 window.setInterval([function],[interval]) 设置一个定时器,
阅读全文
摘要:分享链接: JS中的基本数据类型和引用数据类型(堆栈存储区别)
阅读全文
摘要:1. for in 遍历 for in用来遍历对象自身和其可枚举属性(不含symbol属性),且可遍历对象原型上的属性。 let obj = { name: 'hong', age: 20, sex: 'nan' } Object.prototype.scholl = 'wyu' Object.pr
阅读全文
摘要:array.indexOf() 1. 找到该元素,则返回该数组中该元素(第一个出现)的索引。 2. 未找到该元素,则返回 -1 。 3. 利用 indexOf 实现数组去重代码如下: let arr = [1, 2, 3, 3, 4, 4, 5, 6, 6, 7] function unique(a
阅读全文
摘要:1. 普通函数this指向问题 this 永远指向 调用 包含 自己(this本身) 的 函数 对应的对象。 也就是说,包含 this 的函数 只在乎是谁调用了它,跟在哪里进行的函数声明没有关系。 下面就来举个例子说明: function test(){ var a = 1; console.log
阅读全文
摘要:setTimeout、setInterval和requestAnimationFrame
阅读全文
摘要:== 和 的区别 == 和 的最大区别就是前者不限定类型而后者限定类型。如下例,如果想要实现严格相等( ),两者类型必须相同。 和 Object.is() 的区别 Object.is() 的行为与 基本一致,但有两处不同: a、+0 不等于 -0; b、NaN 等于自身。 console.log(N
阅读全文
摘要:1. 前端模块化规范主要有: commonJS 规范 AMD规范 CMD 规范 ES6 规范 实际上,前三种模块化规范现在已经不流行了,ES6模块化规范就相当于可以取代前三者了。 本文主要讲讲 commonJS 规范和 ES6模块化规范。 2. commonJS 规范 概述: commonJS 规范
阅读全文
摘要:1. 防抖函数 经典使用场景:文本框输入文字时,延迟发起Ajax请求,从而不用每按下一个字都要发起请求 // 1. 防抖函数 function debounce(fn, wait) { // 1. timer 定时器变量 节流阀 var timer = null return function ()
阅读全文
摘要:1. 类的创建 1.1 ES5中类的创建 (即构造函数的创建) // 注:ES5中类的创建其实就是构造函数的创建,和函数创建相同,只是函数名首字母一般推荐大写 // 1. 方法一:直接在构造函数中直接定义属性和方法 // 优点:可以传参 // 缺点:每 new 一个实例,就会复制一份构造函数里面的属
阅读全文
摘要:1. 只能拷贝 Object 和 Array 对象 function deepClone(obj){ // 数组也是对象 var newObj = obj instanceof Array ? [] : {} for (var i in obj) { // 判断 item 是否为对象,若是,则对对象
阅读全文
摘要:1、判断数据类型方法 js中判断数据类型的话可用typeof(xx)来进行判断,它的返回值有六种:string、Boolean、number、function、object、undefined。但是 数组、空值、对象 返回的都是 object。这时可用 toString.call( ) 来进行判断。
阅读全文
摘要:https://blog.csdn.net/weixin_56505845/article/details/119683904
阅读全文
摘要:先一句话概括:一个函数内(父)放另外一个函数(子),(子)函数拿到(父)函数的局部变量,(父)函数把(子)函数返回出去,此时(子)函数保留着(父)函数的私有变量,也就是占据着空间。这样,其他函数(隔壁老王)调用这个(子)函数的时候,其他函数(隔壁老王)就可以拿到那个(父)函数的局部变量了,调用一次拿
阅读全文
摘要:首先,函数内部中的 this 指向谁,不是在函数定义时决定的,谁调用,指向谁。 1. call 方法 语法:函数名.call(调用者, 参数1, …)作用:函数被借用时,会立即执行,并且函数体内的this会指向借用者或调用者 function fn(name, age) { this.name =
阅读全文
摘要:本文内容: 1. ES5常见的数组方法: forEach ,map ,filter ,some ,every ,reduce 除了forEach,其他都有回调,都有return 2. 其他数组方法 1. forEach(循环迭代) 查看代码 forEach(f(item[,index]){})语法
阅读全文