随笔分类 - JavaScript
摘要:JavaScript常见原生DOM操作API总结 目录 几种对象 Node NodeList HTMLCollection 节点查找API 节点创建API createElement createTextNode cloneNode createDocumentFragment 节点修改API ap
阅读全文
摘要:首先看看柯里化到底是什么? 维基百科上说道:柯里化,英语:Currying(果然是满满的英译中的既视感),是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数而且返回结果的新函数的技术。 看这个解释有一点抽象,我们就拿被做了无数次示例的add函数,来做一
阅读全文
摘要:1.看一下正常使用的new方法 function father(name){ this.name=name; this.sayname=function(){ console.log(this.name) } } var son=new father('kimi') dog.sayname(); 输
阅读全文
摘要:第一种方式:jsonp请求 jsonp的原理是利用<script>标签的跨域特性,可以不受限制地从其他域中加载资源,类似的标签还有<img>. 第二种方式:document.domain 这种方式用在主域名相同子域名不同的跨域访问中 第三种方式:window.name window的name属性有个
阅读全文
摘要:数组去重的方法 一、利用ES6 Set去重(ES6中最常用) function unique (arr) { return Array.from(new Set(arr)) } var arr = [1,1,'true','true',true,true,15,15,false,false, und
阅读全文
摘要:转至:https://www.cnblogs.com/liugang-vip/p/5616484.html 起因: 1、这是前端面试的经典题型,要去找工作的小伙伴看看还是有帮助的; 2、其实我一直都没弄明白,写这个一是为了备忘,二是给其他的知其然不知其所以然的小伙伴们以参考; 概述: 那什么叫事件委
阅读全文
摘要:正则解释 [1-9]\d{5} 6位地区编码 [1-9]\d{3} 4位年份 ((0\d)|(1[0-2])) 2位月份 (([0|1|2]\d)|3[0-1]) 2位日数 \d{3}[0-9Xx] 4位校检码 18位身份证的正则表达式为:/^[1-9]\d{5}[1-9]\d{3}((0\d)|(
阅读全文
摘要:一.什么是闭包 高级程序设计三中:闭包是指有权访问另外一个函数作用域中的变量的函数.可以理解为(能够读取其他函数内部变量的函数) 闭包的作用: 正常函数执行完毕后,里面声明的变量被垃圾回收处理掉,但是闭包可以让作用域里的 变量,在函数执行完之后依旧保持没有被垃圾回收处理掉 二. 闭包的实例 // 创
阅读全文
摘要:JavaScript RegExp 对象有 3 个方法:test()、exec() 和 compile()。(1) test() 方法用来检测一个字符串是否匹配某个正则表达式,如果匹配成功,返回 true ,否则返回 false;(2) exec() 方法用来检索字符串中与正则表达式匹配的值。exe
阅读全文
摘要:实现一个简易版 Promise 在完成符合 Promise/A+ 规范的代码之前,我们可以先来实现一个简易版 Promise,因为在面试中,如果你能实现出一个简易版的 Promise 基本可以过关了。 那么我们先来搭建构建函数的大体框架 const PENDING = 'pending' const
阅读全文
摘要:async 及 await 涉及面试题:async 及 await 的特点,它们的优点和缺点分别是什么?await 原理是什么? 一个函数如果加上 async ,那么该函数就会返回一个 Promise async function test() { return "1" } console.log(
阅读全文
摘要:Promise 涉及面试题:Promise 的特点是什么,分别有什么优缺点?什么是 Promise 链?Promise 构造函数执行和 then 函数执行有什么区别? Promise 翻译过来就是承诺的意思,这个承诺会在未来有一个确切的答复,并且该承诺有三种状态,分别是: 等待中(pending)
阅读全文
摘要:涉及面试题:如何理解原型?如何理解原型链? 当我们创建一个对象时 let obj = { age: 25 },我们可以发现能使用很多种函数,但是我们明明没有定义过它们,对于这种情况你是否有过疑惑? 当我们在浏览器中打印 obj 时你会发现,在 obj 上居然还有一个 __proto__ 属性,那么看
阅读全文
摘要:涉及面试题:什么是浅拷贝?如何实现浅拷贝?什么是深拷贝?如何实现深拷贝? 对象类型在赋值的过程中其实是复制了地址,从而会导致改变了一方其他也都被改变的情况。通常在开发中我们不希望出现这样的问题,我们可以使用浅拷贝来解决这个情况。 let a = { age: 1 } let b = a a.age
阅读全文
摘要:== vs 涉及面试题:== 和 有什么区别? 对于 == 来说,如果对比双方的类型不一样的话,就会进行类型转换,这也就用到了我们上一章节讲的内容。 假如我们需要对比 x 和 y 是否相同,就会进行如下判断流程: 首先会判断两者类型是否相同。相同的话就是比大小了 类型不相同的话,那么就会进行类型转换
阅读全文
摘要:typeof vs instanceof 涉及面试题:typeof 是否能正确判断类型?instanceof 能正确判断对象的原理是什么? typeof 对于原始类型来说,除了 null 都可以显示正确的类型 typeof 1 // 'number' typeof '1' // 'string' t
阅读全文
摘要:this 涉及面试题:如何正确判断 this?箭头函数的 this 是什么? this 是很多人会混淆的概念,但是其实它一点都不难,只是网上很多文章把简单的东西说复杂了。在这一小节中,你一定会彻底明白 this 这个概念的。 我们先来看几个函数调用的场景 function foo() { conso
阅读全文
摘要:闭包 涉及面试题:什么是闭包? 闭包的概念: 当一个内部函数被调用的时候,这个内部函数可以访问外部函数中的变量,此时就形成了闭包 闭包的作用: 局部变量无法共享且长期有效保存,全局变量又容易造成变量的污染。闭包可以长久保存变量并且防止全局变量的污染 闭包的特点: (闭包会声明私有变量,私有变量会常驻
阅读全文
摘要:JavaScript垃圾回收机制 常见两种方法:引用计数,标记清除 引用计数:(IE9-使用)跟踪记录每个值被引用的次数,当声明一个变量并将一个引用类型的值赋给这个变量的时候,这个值的引用次数就是1,如果这个值再被赋值给另外一个变量,引用次数再加1。如果一个变量脱离了该值的引用,则该值的引用次数就减
阅读全文
摘要:ES6 主要是为了解决 ES5 的先天不足,在原先ES5的基础上新增了许多内容,本篇文章将列举出ES6中新增的10大特性。 一、 let 和 const 与var不同,let和const都是用于命名局部变量,都是块级作用域。具体可参考阮一峰老师的文章:http://es6.ruanyifeng.co
阅读全文

浙公网安备 33010602011771号