写在前面 [前端指南]前端面试库已经开源,正在完善之中 [x] css问题 [x] html问题 [x] javascript问题 github地址 https://github.com/nanhupatar... JavaScript 的组成 JavaScript 由以下三部分组成: ECMAScript(核心):JavaScript 语言基础 DOM(文档对象模型):规定了访问 HTML 和 XML 的接口 BOM(浏览器对象模型):提供了浏览器窗口之间进行交互的对象和方法 JS 的基本数据…
目录 1 什么是函数柯里化 2 柯里化的作用和特点 2.1 参数复用 2.2 提前返回 2.3 延迟执行 3 封装通用柯里化工具函数 4 总结和补充 1 什么是函数柯里化 在计算机科学中,柯里化(Currying)是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数且返回结果的新函数的技术.这个技术以逻辑学家 Haskell Curry 命名的. 什么意思?简单来说,柯里化是一项技术,它用来改造多参数的函数.比如: // 这是一个接受3个参数的函数…
目录 1 测试用例 2 JS 数组去重4大类型 2.1 元素比较型 2.1.1 双层 for 循环逐一比较(es5常用) 2.1.2 排序相邻比较 2.2 查找元素位置型 2.2.1 indexOf 2.2.2 findIndex 2.3 元素是否存在型 2.3.1 includes 2.3.2 some 2.4 依托数据结构特性 2.4.1 Map 2.4.2 Set(ES6 最常用) 3 补充 1 测试用例 // 测试用例 const a = {}; const b = { c: 1 };…
JS 基础 JavaScript 的 typeof 返回那些数据类型 object number function boolean undefined string typeof null; // object typeof isNaN; // function typeof isNaN(123); //boolean typeof []; // object Array.isArray(); // false toString.call([]); // [object Array] var a…
前端面试常考知识点---js 1.CSS3的新特性有哪些 点我查看 CSS3选择器 . CSS3边框与圆角 CSS3圆角border-radius:属性值由两个参数值构成: value1 / value2,值之间用/分隔,value1代表圆角的水平半径,value2代表圆角的垂直半径盒阴影box-shadow:语法:box-shadow: 水平方向的偏移量 垂直方向的偏移量 模糊程度 扩展程度 颜色 是否具有内阴影 CSS3背景与渐变 重要的几个:background-image ``` 语法:…
1 call.apply.bind 用法及对比 1.1 Function.prototype 三者都是Function原型上的方法,所有函数都能调用它们 Function.prototype.call Function.prototype.apply Function.prototype.bind 1.2 语法 fn代表一个函数 fn.call(thisArg, arg1, arg2, ...) // 接收参数列表 fn.apply(thisArg, argsArray) // apply 接收…
史上前端面试最全知识点(附答案) 一.html & js & css 1.AMD和CMD是什么?它们的区别有哪些? AMD和CMD是二种模块定义规范.现在都使用模块化编程,AMD,异步模块定义:CMD,通用模块定义.AMD依赖前置,CMD依赖就近.CMD的API职责单一,没有全局require,AMD的一个API可以多用. 2.web开发常见的漏洞. XSS(跨站脚本攻击):其原理是攻击者向有XSS漏洞的网站中输入(传入)恶意的HTML代码,当其它用户浏览该网站时,这段HTML代码会自动执…
根据我的面试经历,一般小公司的面试环节,比较关心框架的熟练程度,以及独立开发组件的能力 但大厂通常有五轮以上的面试,而且对 js 基础语法很是看重 于是我总结了一些关于 js 基础的面试对话,有的当时没答上来,就在总结的时候就加了点料 忽然觉得又该读一遍犀牛书了... 一.面试对话 问:你知道 js 是由哪三部分构成的么? 答:有 js 的语法核心 ECMAScript,还有文档对象模型 DOM,以及浏览器对象模型 BOM. 问:那你觉得 dom 的作用是什么? 答:喵喵喵??? 问:我换一个问…
[原创]分布式之数据库和缓存双写一致性方案解析(三)   正文 博主本来觉得,<分布式之数据库和缓存双写一致性方案解析>,一文已经十分清晰.然而这一两天,有人在微信上私聊我,觉得应该要采用 先删缓存,再更新数据库,再删缓存 这一方案作为缓存更新策略,而不是先更新数据库,再删缓存.并且搬出了两篇大佬的文章,<Cache Aside Pattern>,<缓存与数据库不一致,咋办?>,希望博主能加以说明.因为问的人太多了,所以才有了这篇文章的诞生. 正文 在开始这篇文章之前,…
判断 js 类型的方式 1. typeof 可以判断出'string','number','boolean','undefined','symbol' 但判断 typeof(null) 时值为 'object'; 判断数组和对象时值均为 'object' 2. instanceof 原理是 构造函数的 prototype 属性是否出现在对象的原型链中的任何位置 function A() {} let a = new A(); a instanceof A //true,因为 Object.get…