nbb3210

78
获赞数
4
关注数
31
粉丝数
武汉
武汉大学 | 测绘工程
IP 属地上海
2017-03-02 加入
浏览 10.3k

优雅地使用JavaScript解决问题

436 声望|学徒
全站排名超越 96% 用户
javascript
413
二叉树
112
红黑树
83
html5
67
数组去重
55
黄金勋章
暂未获得该勋章
如何获得
2 白银勋章
1 青铜勋章
个人动态
  • 赞了文章2018-06-29
    小轮子:无需重构,向下兼容,在既有项目中用vue的方式开发微信小程序
    simple-wxmp-vueify 介绍 既有项目无法重构,但想在某些页面的JS中使用vue的语法?不想手动调用小程序内的setData()?这个库可能帮你解决一些问题。 特性 使用ES6的proxy实现对page.data的代理 支持在代码中使用this.xxx表示data属性 支持计算属性 支持响应式更新视...
  • 发布了文章2018-03-30
    前端背景知识查漏补缺
    ECMAScript 与 JavaScript ECMAScript 是一套脚本语言的规范,内部编号 ECMA-262 该规范由 Ecma(European Computer Manufacturers Association) 制定 规范保证开发者按照规范编写的代码能在大部分浏览器中正常工作,因为这些浏览器约定去遵守规范 JavaScript,JScrip...
  • 发布了文章2018-03-23
    前端中的中间件
    场景 {代码...} 现有函数 stepOne(),要求在不改写函数的基础上,在执行该函数之前添加检查 checkStepOne(), 检查返回 ture,再执行 stepOne() 我们大都会这样写 {代码...} 很明显,这样的 flow() 很不灵活 如果现在又有 stepTwo(),同样需要在执行之前进行检查 che...
  • 发布了文章2018-03-20
    编程小结
    给定数组arr,取n个数,和为sum,有哪些种取法 递归解法 {代码...} 递归优化,计算过程中去重 思路一的做法,存在大量的重复,实际上对 for 循环做一点修改,就可以在过程中避免重复 {代码...} 迭代 {代码...} 砝码问题 给一组砝码,给一个重量,问用该组砝码能否称...
  • 发布了文章2018-03-15
    不抓包,如何学的了HTTPS
    测试背景 抓包工具:Wireshark 本机ip:10.129.135.155 目标网站:[链接] 握手过程 抓包截图 一目了然,No33,44,45,是TCP的三次握手,除此之外,建立TLS/SSL连接,也需要先建立握手 1. Client Hello 主要向服务端传递的信息 Version:客户端支持的版本 Random:客户...
  • 发布了文章2018-03-14
    不抓包,如何学得了 TCP
    Wireshark 本机ip: 192.168.0.72 访问地址: [[链接]]() 记录378,419,427就对应着著名的TCP三次握手 数据帧格式如下 三次握手流程图 SYN:建立连接 FIN:关闭连接 ACK:响应 PSH:数据传输 RST:连接重制 A->B:在吗?听的到吗? B->A:在啊?你听得到吗?(告...
  • 发布了文章2018-03-13
    JS中的类型转换
    七种数据类型 JS 中共有七种数据类型 null undefined boolean number string symbol object 除了 object,所有的数据类型都被称为“原始数据类型” JS 中每个变量都保存了一个值,每个值都对应着一种数据类型 在使用过程中,值的数据类型会发生相应的变化,以促使代码...
  • 发布了文章2018-03-12
    JS中的类型转换
    七种数据类型 JS 中共有七种数据类型 null undefined boolean number string symbol object 除了 object,所有的数据类型都被称为“原始数据类型” JS 中每个变量都保存了一个值,每个值都对应着一种数据类型 在使用过程中,值的数据类型会发生相应的变化,以促使代码...
  • 发布了文章2018-03-09
    你对Number一无所知
    在 JS 中,所有的数字都是基于 IEEE 754 的浮点数。除了浮点数,还有定点数,两者的区别就在于小数点的处理。同样是用64个bit表示一个数,定点数会用前 N 位来表示一个数的整数部分,用后 64 - N 来表示一个数的小数部分,这个 N 是固定的,对所有的数都是一样的。
  • 赞了文章2018-03-07
    CSS布局解决方案(终结版)
    前端布局非常重要的一环就是页面框架的搭建,也是最基础的一环。在页面框架的搭建之中,又有居中布局、多列布局以及全局布局,今天我们就来总结总结前端干货中的CSS布局。
  • 发布了文章2018-03-07
    从非数组对象转数组方法小结
    Array.prototype.slice.call(obj) 该方法可以将类数组对象转换为数组,所谓类数组对象,就是含 length 和索引属性的对象 返回的数组长度取决于对象 length 属性的值,且非索引属性的值,或索引大于 length 的值都不会被返回到数组中 实锤如下 {代码...} 简洁写法 []....
  • 发布了文章2018-02-26
    跨文档通信的7种方法
    摘要 以下总结的跨文档通信方法,均是在服务器不参与的情况下(服务端无需特殊的代码)实现的 这里的通信,是指页面A向页面B传递信息 大致分为以下三类 通过 window.postMessage 实现双向通信 通过客户端存储实现通信 cookie webStorage indexedDB 在页面跳转的过程...
  • 发布了文章2018-02-15
    构建二叉树进行数值数组的去重及优化
    构建二叉树进行数值数组的去重及优化 常见两层循环实现数组去重 {代码...} 构建二叉树实现去重(仅适用于数值类型的数组) 将先前遍历过的元素,构建成二叉树,树中每个结点都满足:左子结点的值 < 当前结点的值 < 右子结点的值 这样优化了判断元素是否之前出...
  • 发布了文章2018-02-05
    山寨一个 Promise
    一点感悟 Promise 是编写异步的另一种方式,鄙人愚见,它就是 Callback 的一种封装 相比 Callback ,它有以下特点 Promise 将异步结果保存起来,可以随时获取 链式调用 then 方法会返回一个新的 Promise ,从而避免了回调地狱 决定一次异步有两个环节 发起异步事件 ...
  • 发布了文章2018-01-24
    四谈快速排序(含尾递归)
    一谈,原始的快速排序 {代码...} 二谈,优化后的快速排序 适时的采用插入排序 代码略 随机化快速排序 改变选择主元 pivot 的方式,从选择末尾的元素,改为随机选择 修改 partition 函数 {代码...} 三路快排 {代码...} 尾递归 套路和三谈归并排序(含尾递归)中的一样...
  • 发布了文章2018-01-24
    三谈归并排序(含尾递归)
    一谈,原始的归并排序 {代码...} 二谈,优化后的归并排序 优化算法的指导思想之一,找到某些可以简化处理的特殊情况 合并时的特殊情况 当 leftArr 的最后一个元素小于 rightArr 的第一个元素时,那么顺序就应该是 [leftArr, rightArr] 当 rightArr 的最后一个元素小...
  • 发布了文章2018-01-19
    异步读取文件的几种姿势
    臆想的 {代码...} 臆想中,读取文件是有返回值的,将返回值,即文件内容,赋给一个变量,然后决定对读取到的内容进行相应的操作,例如打印文件中的内容。 简而言之,臆想中,读取文件,打印文件是相互分开的。 回调 {代码...} 实际上,在经常使用的回调中,读取文件...
  • 发布了文章2018-01-18
    解构小结
    基本概念 作用 解构是有组织的从对象或数组中提取信息片段 条件 明确从哪提取信息片段,即信息来源于哪个对象或数组 明确提取什么信息片段,即对象的哪个属性或数组的第几个元素 其他 解构除了提取信息片段之外,还有一些辅助的功能 为可能提取不到的信息设置默认值 ...
  • 发布了文章2018-01-18
    JS简明基础
    数据类型 在最新的 ECMAScript 规范中,定义了7种数据类型 null undefined boolean number string symbol(不了解) object 其中前6种为基础数据类型,只有 object 为引用类型 基础数据类型和引用类型划分的依据是其在内存中存储的形式 基础数据类型在内存对应的位置存...
  • 发布了文章2018-01-15
    重构smart-import
    前情提要 自动 Import 工具,前端打字员的自我救赎 记第一次发布npm包经历,smart-import GitHub:smart-import develop是重构中的代码 master是1.0版本可以工作的代码 配置文件 from:待导入的模块 to:引用模块的文件 template:引用模块的方式 ignored:忽略的模块...