JavaScript
文章平均质量分 64
日常记录
嚣张.miner
一心想赚钱
展开
-
详解 Javascript十大常用设计模式
原文: https://www.cnblogs.com/tugenhua0707/p/5198407.htmljs 常见的设计模式工厂模式工厂模式类似于现实生活中的工厂可以产生大量相似的商品,去做同样的事情,实现同样的效果;这时候需要使用工厂模式。简单的工厂模式可以理解为解决多个相似的问题;这也是她的优点;比如如下代码 <script> function Person(name, age, sex) { var obj = new Object()转载 2021-09-06 15:28:01 · 266 阅读 · 0 评论 -
js的延迟加载方式
首先我们要考虑为什么要提出js的延迟加载??有助于提高页面加载速度, js延迟加载就是等页面加载完成以后再加载js文件我们都知道 dom元素是从上到下渲染的, 如果js来管理页面上的元素, 并且js加载操作想在HTML之前, 代码就会报错.eg:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible"原创 2021-09-02 15:30:58 · 598 阅读 · 0 评论 -
前端面试题(持续更新.....)
根据印象, 回忆面试题目, 发现大厂注重基础HTML篇1.html的块级元素, 行内元素分别有哪些?块级元素: div, p, h1, h2, h6, dl, dt, dd, hr, form, ul, li, ol, noscript, caption定义表格标题等行内元素:a, b, i, img, input, label, select, em, textarea, select等CSS1. 引用外部的文件 有哪些引用方式, 引用的差别是什么?我们知道引入css的方式有四种1.行内原创 2021-09-01 18:03:36 · 523 阅读 · 0 评论 -
原型与原型链
面试时必问题:什么是原型?, 什么是原型链?回答什么是原型的答案:1.所有引用类型, 都有一个__proto__(隐式类型)属性(不是只有实例对象才有1), 其值是一个对象2.每一个函数都有一个prototype(显示原型)属性,(不是只有构造函数才有) , 这个属性对应着一个对象, 这个对象就是我们所谓的原型对象3.所有引用类型的__proto__属性指向它构造函数的prototype var a=[] console.log(a.__proto__ == Array.pro原创 2021-08-31 17:29:39 · 179 阅读 · 0 评论 -
js中闭包的理解
对于闭包二字, 我们常常听说, 可能更加知道面试的时候, 面试官必问知识点之一在MDN 中, 对闭包是这样定义的一个函数和对其周围状态(lexical environment,词法环境)的引用捆绑在一起(或者说函数被引用包围),这样的组合就是闭包(closure)。也就是说,闭包让你可以在一个内层函数中访问到其外层函数的作用域。在 JavaScript 中,每当创建一个函数,闭包就会在函数创建的同时被创建出来。要想理解闭包, 必然需要理解js的变量作用域: 全局变量和局部变量我们都知道, 在函数内部原创 2021-08-30 19:33:09 · 831 阅读 · 0 评论 -
call(), apply(), bind()之间的区别
我们知道 this是js中的一个关键字, 而且this指向的是调用函数的那个对象.对于 call, apply, bind 三者有一个共同点就是可以改变this指向.但是bind和call,apply两者不太相同;bind() 方法创建一个新的函数,在 bind() 被调用时,这个新函数的 this 被指定为 bind() 的第一个参数,而其余参数将作为新函数的参数,供调用时使用。call()方法使用一个指定的 this 值和单独给出的一个或多个参数来调用一个函数。apply() 方法调用一个具原创 2021-08-30 15:26:45 · 155 阅读 · 0 评论 -
判断数据类型的几种方法
typeof目前能返回以下8种判断类型值类型stringnumberbooleansymbolbigint(es10新增)undefined引用类型objectfunction console.log(typeof '嚣张') // string console.log(typeof 18) // number console.log(typeof true) // boolean console.log(typeof undefined) //原创 2021-08-30 10:49:08 · 339 阅读 · 0 评论 -
使用moment.js推算当前时间的前多少天
在项目中遇到一个问题, 推算当前时间的前7天, 30天 , 当然使用js一点点推算可以的, 但是可以使用moment.js 简单就可以推算出来获取当前时间moment().format('YYYY-MM-DD HH:mm:ss')当前时间的前7天moment().subtract(7, "days").format("YYYY-MM-DD HH:mm:ss")...原创 2021-08-18 16:50:23 · 2414 阅读 · 0 评论 -
复制文本
点击复制操作代码如下: <Tooltip title="点击复制"> <a onClick={() => copyText(`${'212121dsaf'}`)}><Icon type="copy" /></a> </Tooltip> <input type="text" id="copy" style={{ opacity: 0, height: 0 }} />复制事件: const copyTex.原创 2021-03-01 15:11:10 · 300 阅读 · 0 评论 -
获取url的路径信息
http://localhost:3001/?id=123&type=456#/ getQueryName = (name) => { var result = (window.location.search || window.location.href).match(new RegExp("[\?\&]" + name + "=([^\&]+)...原创 2020-03-20 19:53:32 · 420 阅读 · 0 评论 -
数组之间的转换(Number和String)
string数组转换成Number数组 ler arr = [ '1', '2', '3']; arr = arr.map(Number); console.log(arr) // [1, 2, 3]Number’数组转换成String数组 ler arr = [1, 2, 3] ; arr = arr.map(String); console.lo...原创 2020-02-27 18:22:33 · 1431 阅读 · 0 评论 -
两个数组比较(增加和删除)
原数组arr1 = [1, 2, 3, 4, 5]修改后arr2 = [3, 4, 5, 6, 7, 8, 9]增加的? 删除的?先取交集 const _arr1= new Set(arr1); const _arr2 = new Set(arr2); const someArr = [...new Set([..._arr1].filter(x => _arr2....原创 2020-02-27 16:59:45 · 3169 阅读 · 0 评论 -
实现页面的局部刷新
前端刷新页面的方法< a href=“javascript:” onclick="history.go(-2); ">返回前两页< a href=“javascript:” onclick=“self.location=document.referrer;”>返回上一页并刷新< a href=“javascript:” onclick="history.back...原创 2019-03-04 11:20:17 · 2472 阅读 · 0 评论 -
向数组中添加数据但length打印为0?
最近写项目时, 遇到了一个问题, 我明明向数组中push了数据, 但是打印的时候为[]数组, 并且其长度为0看代码先来看这种情况很正常对吧, 往数组中push一组数据, 长度为1往下看 static propTypes = { } constructor() { super(); this.state = { arr: [], ...原创 2018-11-08 14:17:39 · 17429 阅读 · 4 评论 -
script标签加载顺序(defer & async)
script 拥有的属性async:可选,表示应该立即下载脚本,但不应妨碍页面中的其他操作,比如下载其他资源或等待加载其他脚本。只对外部脚本文件有效。charset:可选。表示通过 src 属性指定的代码的字符集。由于大多数浏览器会忽略它的值,因此这个属性很少有人用。defer:可选。表示脚本可以延迟到文档完全被解析和显示之后再执行。只对外部脚本文件有效。IE7 及更早版本对嵌入脚本也支持...转载 2018-10-11 14:02:26 · 11631 阅读 · 2 评论 -
原型对象使用的注意点
对于面向对象自己其实一直都挺糊涂的,就整理了一下面向对象中容易搞糊涂的几点 搞完以后觉得清晰多了原型对象使用的注意点### 1.如何访问原型上面的属性 - a.对象.属性 - b.构造函数.prototype.属性2.属性的访问原则就近原则,在访问属性的时候,先在对象自身查找(实例属性/方法),如果找到那么就直接使用.如果没有找到就去它们的原型对象身上去找,如果找到就...原创 2018-02-09 14:43:50 · 261 阅读 · 0 评论 -
作用域-变量和函数提升
变量和函数的提升可以分成两步: - 1 js先预解析:把变量和函数声明提升到作用域顶端,我理解的意思是在浏览器中找一些东西 - var ; 函数function a(){}; 参数; 所有变量,在正式运行代码之前都提前赋了一个值:未定义; 只要有以上中的任意一个,就预解析; - 在预解析时遇到重名的只留下后一个; - 变量和函数重名的,就留下函数. - 2....原创 2018-02-09 14:40:41 · 188 阅读 · 0 评论 -
on事件和addevent事件的区别
on事件 function fn1(){alert(1)}; function fn2(){alert(2)};document.onclick=fn1();document.onclick=fn2(); 只会弹出2 - 使用on事件,给标签加多个事件的时候后面的会覆盖前面的。 function fn1(){alert(1)}; function fn2(){aler...原创 2018-02-09 14:37:03 · 6870 阅读 · 1 评论