前端面试题
快乐的小小编
这个作者很懒,什么都没留下…
展开
-
前端面试题
1、http://www.cnblogs.com/zichi/p/4359786.html原创 2015-12-04 14:03:23 · 488 阅读 · 0 评论 -
数据结构与算法---动态规划( 9宫格数字序列对应的字母组合)
const assert = require('assert');/** * 9宫格数字序列对应的字母组合 * @param digits */function letterCombinations(digits) { const letterMap = { 0: ' ', 1: '', 2: 'abc', 3: 'def', 4: 'ghi...原创 2018-09-30 17:00:00 · 3847 阅读 · 0 评论 -
数据结构与算法--动态规划资源
爬楼梯:http://www.sohu.com/a/149075950_68444501背包问题:https://juejin.im/post/5affed3951882567161ad511原创 2018-09-27 18:13:29 · 289 阅读 · 0 评论 -
原生js实现Ajax方法及promise封装
/*1. open(method, url, async) 方法需要三个参数: method:发送请求所使用的方法(GET或POST);与POST相比,GET更简单也更快,并且在大部分情况下都能用;然而,在以下情况中,请使用POST请求:无法使用缓存文件(更新服务器上的文件或数据库)向服务器发送大量数据(POST 没有数据量限制)发送包含未知字符的用户输入时,POST 比 GET 更稳...原创 2018-09-25 00:48:52 · 2716 阅读 · 0 评论 -
JavaScript实现私有属性
源地址JavaScript被很多人认为并不是一种面向对象语言,原因有很多种,比如JavaScript没有类,不能提供传统的类式继承;再比如JavaScript不能实现信息的隐藏,不能实现私有成员。本文并不是为了打破以上误解(实际上笔者自己也有困惑),只是简单介绍几种JavaScript实现私有属性的方式,以及各自的优劣。基于编码规范约定实现方式很多编码规范把以下划线_开头的变量约定为私有成...转载 2018-09-25 00:06:05 · 958 阅读 · 0 评论 -
数据结构与算法--优先队列
/** * 优先队列:元素的添加和删除是基于元素的优先级的 * * 两种实现方式: * (1)设置优先级,然后再正确的位置添加元素; * (2)入列添加元素,按照元素的优先级移除他们 * @constructor */function PriorityQueue() { let items = []; function QueueElement(element, pr...原创 2018-09-24 23:45:14 · 258 阅读 · 0 评论 -
数据结构与算法--二叉搜索树
/** * 二叉搜索树(BST): * 只允许左侧节点存储小的值,右侧节点存储大(大于或等于)的值 * @constructor */function BinarySearchTree() { function Node(key) { this.key = key; this.left = null; this.right = null; } le...原创 2018-09-24 23:38:06 · 404 阅读 · 0 评论 -
JavaScript工具函数--数组相关
/** * 数组去重 * @param arr * @returns {*[]} */function deDuplication(arr) { return [...new Set([...arr])];}/** * 数组平铺 * @param arr * @returns {Array} */function flattenArray(arr) { retu...原创 2018-09-23 15:38:06 · 253 阅读 · 0 评论 -
数据结构与算法--排序(冒泡、选择、归并、快速排序、堆排序)
/** * 冒泡排序 * @param arr */function bubbleSort(arr) { let len = arr.length; for (let i =0; i < arr.len; i++) { for (let j = 0; i < len - i - 1; j++) { if (arr[j] > arr[j+1]) ...原创 2018-09-23 14:20:13 · 496 阅读 · 0 评论 -
对象创建与拷贝--new运算符、Object.create、Object.assign、Object.defineProperty
对象创建方式(1)字面量(2) new 运算符// new 运算符实现function NEW() { const func = arguments[0]; // 构造函数 const params = [].slice.call(arguments, 1); // 获取传入的参数,调用构造函数时使用 // 继承构造函数中的属性 const o = Object.cr...原创 2018-09-23 14:17:19 · 635 阅读 · 0 评论 -
JS实现JSON.stringify
JSON.stringify是浏览器高版本带的一个将JS的Objtect对象转换为JSON字符串的一个方法,不过再IE6下面,并不存在JSON这一对象,因此,用到此方法时,需要写一套兼容性的代码。 JSON.stringify的一些规则以及注意点:当对象为数字,null,boolean的时候,直接转换为相应的字符串就可以了。但是string,function,undefined,object,ar转载 2017-02-07 10:56:24 · 3972 阅读 · 0 评论 -
数据结构与算法--排列(数组全排列)
/** * 求数组的全排列 * @param nums * @returns {Array} */function permute(nums) { const resPms = []; const used = Array(nums.length).fill(false); // 需要对已经参与排列的元素进行记录;但要注意在递归回调结束时要记得回溯 /** * 向...原创 2018-09-30 17:42:36 · 797 阅读 · 0 评论