
前端面试题
快乐的小小编
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
前端面试题
1、http://www.cnblogs.com/zichi/p/4359786.html原创 2015-12-04 14:03:23 · 513 阅读 · 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 · 3923 阅读 · 0 评论 -
数据结构与算法--动态规划资源
爬楼梯:http://www.sohu.com/a/149075950_684445 01背包问题:https://juejin.im/post/5affed3951882567161ad511原创 2018-09-27 18:13:29 · 321 阅读 · 0 评论 -
原生js实现Ajax方法及promise封装
/* 1. open(method, url, async) 方法需要三个参数: method:发送请求所使用的方法(GET或POST);与POST相比,GET更简单也更快,并且在大部分情况下都能用;然而,在以下情况中,请使用POST请求: 无法使用缓存文件(更新服务器上的文件或数据库) 向服务器发送大量数据(POST 没有数据量限制) 发送包含未知字符的用户输入时,POST 比 GET 更稳...原创 2018-09-25 00:48:52 · 2768 阅读 · 0 评论 -
JavaScript实现私有属性
源地址 JavaScript被很多人认为并不是一种面向对象语言,原因有很多种,比如JavaScript没有类,不能提供传统的类式继承;再比如JavaScript不能实现信息的隐藏,不能实现私有成员。本文并不是为了打破以上误解(实际上笔者自己也有困惑),只是简单介绍几种JavaScript实现私有属性的方式,以及各自的优劣。 基于编码规范约定实现方式 很多编码规范把以下划线_开头的变量约定为私有成...转载 2018-09-25 00:06:05 · 995 阅读 · 0 评论 -
数据结构与算法--优先队列
/** * 优先队列:元素的添加和删除是基于元素的优先级的 * * 两种实现方式: * (1)设置优先级,然后再正确的位置添加元素; * (2)入列添加元素,按照元素的优先级移除他们 * @constructor */ function PriorityQueue() { let items = []; function QueueElement(element, pr...原创 2018-09-24 23:45:14 · 294 阅读 · 0 评论 -
数据结构与算法--二叉搜索树
/** * 二叉搜索树(BST): * 只允许左侧节点存储小的值,右侧节点存储大(大于或等于)的值 * @constructor */ function BinarySearchTree() { function Node(key) { this.key = key; this.left = null; this.right = null; } le...原创 2018-09-24 23:38:06 · 428 阅读 · 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 · 285 阅读 · 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 · 533 阅读 · 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 · 687 阅读 · 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 · 4034 阅读 · 0 评论 -
数据结构与算法--排列(数组全排列)
/** * 求数组的全排列 * @param nums * @returns {Array} */ function permute(nums) { const resPms = []; const used = Array(nums.length).fill(false); // 需要对已经参与排列的元素进行记录;但要注意在递归回调结束时要记得回溯 /** * 向...原创 2018-09-30 17:42:36 · 839 阅读 · 0 评论