JS
wheng9667
这个作者很懒,什么都没留下…
展开
-
DNS 解析全过程
首先,浏览器检查自身缓存中是否有该域名对应的 ip 地址,若有则解析结束。 如果浏览器中没有命中,就回去检查操作系统缓存中有没有对应的已解析过的结果。在 windows 中的 c盘的 hosts 文件。 如果这次也没有命中,就会取请求本地域名服务器(LDNS)来解析。一般来说,百分之80的域名解析到这就完成了。 如果 LDNS 还是没有命中,就直接跳到根域名服务器(Root Server)请求解析。 根域名服务器返回一个通用顶级域(gTLD)地址。 向 gTLD发起请求,然后讲 IP 地址联通 .原创 2020-07-26 15:24:06 · 204 阅读 · 0 评论 -
JS 模块规范(CommonJs/AMD/CMD/ES6)
CommonJS:commonJS主要用于 Node.js,输出方式有2种:默认输出---module export 和带有名字的输出---exports.area,引入方式为 required。commonJs是同步加载,所以更适合用在服务端,因为服务端是磁盘读取。如果用在客户端,可能会造成阻塞。AMD:AMD是required.js 所引出的一种规范,通过 required([Module], callback)来进行引入,其中 Module 里传一个数组,依次引入。然后在 ...原创 2020-07-26 00:08:29 · 375 阅读 · 0 评论 -
Promise.race 的实现
function isPromise(obj) { if (!!obj && (typeof(obj) === 'object' || typeof(obj) === 'function') && typeof(obj.then) === 'function') { return true } else { return false }}function newPromiseAll(arr) { let result = []; re.原创 2020-07-25 18:45:32 · 2796 阅读 · 0 评论 -
Promise.all的实现和一些改进
Promise.all:function isPromise(obj) { if (!!obj && (typeof(obj) === 'object' || typeof(obj) === 'function') && typeof(obj.then) === 'function') { return true } else { return false }}function newPromiseAll(arr) { let res原创 2020-07-25 18:35:37 · 341 阅读 · 0 评论 -
关于 Promise 的一些个人总结
什么是 Promise?我认为通俗点讲,Promise是一个构造函数。Promise 使用方式:let p = new Promise((resolve, reject) => { resolve("成功了!")}).then(res => { console.log(res)}).catch(res => { console.log(res)})Promise 在新建时可以选择性的传入两个值,其中第一个 resolve 是指成功状态执行,而第二个r原创 2020-07-25 18:08:29 · 179 阅读 · 0 评论 -
js 四种数据类型判断方法
一、typeof(a):日常开发中最常用的方法,在判断String、Number、undefined、Boolean、Function 时都很好用,但是 对象、null和数组的时候都返回'object'。二、a instanceof xxx:只适用于检测引用类型。三、a.constructor:利用原型链的原理,直接访问查看构造函数。基本数据类型和引用数据类型都好用,但是因为原型链的属性是可以改的,因此如果 constructor 值被改了就麻烦了。四、O...原创 2020-07-25 17:14:38 · 330 阅读 · 0 评论 -
js数组和字符串的操作方法
Array(数组): 一、改变原数组的:pop() 删除数组最后一项,然后返回长度 length push() 向数组最后一项添加值,然后返回长度 length =shit() 删除数组第一项,返回删除的值 unshift() 向数组第一项添加值,然后返回数组长度 reverse() 反转数组 splice(a,b,c) 删除从 a 开始的 b 个数值,并插入 c (b默认为1,c 默认空) 二、不改变原数组的:...原创 2020-07-25 16:54:33 · 184 阅读 · 0 评论 -
(头条)异步笔试题
请写出下面代码的运行结果async function async1() { console.log('async1 start'); await async2(); console.log('async1 end');}async function async2() { console.log('async2');}console.log('scrip...原创 2019-10-09 20:37:41 · 427 阅读 · 0 评论 -
JS 中的防抖和节流
防抖:当持续触发事件时,一定时间段内没有再触发事件,事件处理函数才会执行一次,如果设定的时间到来之前,又一次触发了事件,就重新开始延时。// 防抖function debounce(fn, wait) { var timeout = null; return function() { if(timeout !== null) ...原创 2019-09-18 15:58:15 · 90 阅读 · 0 评论 -
JS里对象的深拷贝
function deepCopy(obj) { var result = Array.isArray(obj) ? [] : {}; for (var key in obj) { if (obj.hasOwnProperty(key)) { if (typeof obj[key] === 'object' && obj...原创 2019-09-17 21:00:45 · 97 阅读 · 0 评论 -
关于let、var、const的区别
let 与var的二点不同:let只作用于块,即其在整个大括号 {} 之内可见。 在变量声明之前就访问变量的话,会直接提示 ReferenceError,而不像 var 那样使用默认值 undefined。let 和 const 对比: const 和 let 的作用域是一致的,不同的是 const 变量一旦被赋值,就不能再改变了。 但并不意味着...原创 2019-09-17 20:46:09 · 105 阅读 · 0 评论 -
Javascript关于HTML5中DOM控制classList
add(value):将给定字符串值添加到列表中(若存在则不加)contains(value):表示列表中是否有这个值(True or false)remove(value):从列表中删除给定字符串toggle(value):相当于一个开关,若列表中有,则删除,若无,则添加removeProperty(propertyName):从样式中删除给定属性<!DOCTYPE ...原创 2019-04-25 20:44:04 · 143 阅读 · 0 评论 -
关于js中this的用法以及总结
先贴上代码<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-eq...原创 2019-04-25 20:42:31 · 119 阅读 · 0 评论 -
关于通过JS获取内部样式、外部样式、内联样式
JS获取内联样式:.style.getPropertyValue()JS获取内部样式、外部样式:currentStyle需要额外注意的是,只有IE可以用currentStyle,Firefox和Chrome浏览器无法使用currentStyle,需要用到兼容性代码 HTMLElement.prototype.__defineGetter__("currentStyle", fu...原创 2019-04-25 20:38:38 · 2030 阅读 · 0 评论