摘要: 1,获取内网ip function getIP(callback) { let recode = {}; let RTCPeerConnection = window.RTCPeerConnection || window.mozRTCPeerConnection || window.webkitR 阅读全文
posted @ 2021-07-07 17:51 浅笑· 阅读(12290) 评论(0) 推荐(0)
摘要: foreach 语法: [ ].forEach(function(value,index,array){ //code something}); forEach()方法对数组的每个元素执行一次提供的函数。 var array = ['a', 'b', 'c'];array.forEach(funct 阅读全文
posted @ 2021-07-07 17:49 浅笑· 阅读(3252) 评论(0) 推荐(1)
摘要: promise的功能 构造函数的实现 首先写一段promise的代码来分析一下构造函数的实现: let pro = new Promise((resolve, reject) => { if (true) { resolve('the value') } else { reject('the rea 阅读全文
posted @ 2021-07-07 17:45 浅笑· 阅读(146) 评论(0) 推荐(0)
摘要: 事件循环与消息队列 首先大家都知道js是一门单线程的语言,所有的任务都是在一个线程上完成的。而我们知道,有一些像I/O,网络请求等等的操作可能会特别耗时,如果程序使用"同步模式"等到任务返回再继续执行,就会使得整个任务的执行特别缓慢,运行过程大部分事件都在等待耗时操作的完成,效率特别低。 为了解决这 阅读全文
posted @ 2021-07-07 17:44 浅笑· 阅读(278) 评论(0) 推荐(0)
摘要: 代码展示 首先构建一个用来构造LRU对象模块的文件: 'use strict'; let Lru = function(cacheSize,callbackBackingStoreLoad,elementLifeTimeMs=1000){ let me = this; let maxWait = e 阅读全文
posted @ 2021-07-07 17:43 浅笑· 阅读(268) 评论(0) 推荐(0)
摘要: 前端的设计模式是什么 设计模式一个比较宏观的概念,通俗来讲,它是软件开发人员在软件开发过程中面临的一些具有代表性问题的解决方案。当然,在实际开发中不用设计模式同样也是可以实现需求的,只是在业务逻辑比较复杂的情况下,代码可读性及可维护性变差。所以随着业务逻辑的扩展,了解常用设计模式解决问题是非常有必要 阅读全文
posted @ 2021-07-07 17:42 浅笑· 阅读(578) 评论(0) 推荐(0)
摘要: 1. 可选链运算符 之前当我们想要使用某个结构比较深的属性,同时又无法确定所有的父级一定存在时,我们需要进行一连串的判断,例如一个数据结构: const student = { score: { math: 98, }, }; 我们想要获取最内层的 math 属性的值时: if (student & 阅读全文
posted @ 2021-07-07 17:41 浅笑· 阅读(115) 评论(0) 推荐(0)
摘要: 原始值 我们假设一个变量 name 具有一个与之关联的原始值(number,string,boolean,undefined 和null)。 如果我们将此变量 name 复制到另一个变量name2 ,则原始变量的任何修改都不会影响到第二个变量,因为它们是原始值。 let name="fly63"; 阅读全文
posted @ 2021-07-07 17:39 浅笑· 阅读(458) 评论(0) 推荐(0)
摘要: exports ES6模块只支持静态导出,只可以在模块的最外层作用域使用export,不可在条件语句与函数作用域中使用。 Named exports (命名导出) 这种方式主要用于导出多个函数或者变量, 明确知道导出的变量名称。使用:只需要在变量或函数前面加 export 关键字即可。使用场景:比如 阅读全文
posted @ 2021-07-07 17:32 浅笑· 阅读(498) 评论(0) 推荐(0)
摘要: 1.块作用域声明(Block Scoped Declarations) 自从该语言问世以来,JavaScript开发人员一直使用var来声明变量。不过,正如下面代码段所展示的那样,由关键字var所创建的变量,在其作用域上会出现问题。 var x = 10 if (true) { var x = 15 阅读全文
posted @ 2021-07-07 17:31 浅笑· 阅读(94) 评论(0) 推荐(0)
摘要: 方式一:window.innerWidth / window.innerHeight 这种方式只支持IE9以及以上版本的浏览器 网页高度,打开F12控制台当然高度会不同 方式二:document.documentElement.clientWidth console.log(document.doc 阅读全文
posted @ 2021-07-07 17:29 浅笑· 阅读(270) 评论(0) 推荐(0)
摘要: 1、delete delete是删除对象的属性没有任何剩菜,剩下的唯一真正的方法,但它的工作比其“替代”设置慢100倍 object[key] = undefined var myObject = { "ircEvent": "PRIVMSG", "method": "newURI", "regex 阅读全文
posted @ 2021-07-07 17:27 浅笑· 阅读(10582) 评论(0) 推荐(0)