var

【算法之美】logn 时间复杂度求解两个有序数组的中位数

一道非常经典的题目,Median of Two Sorted Arrays。(PS:leetcode 我已经做了 190 道,欢迎围观全部题解 https://github.com/hanzichi/leetcode)题意非常简单,给定两个有序的数组,求中位数,难度系数给的是 Hard,希望的复杂度是 log 级别。回顾下中位数,对于一个有序数组,如果数组长度是奇数,那么中

JavaScript 处理数组函数总结

JavaScript的array可以包含任意数据类型,并通过索引来访问每个元素。1、获取数组长度直接访问length属性获取数组长度:var arr = [1,'hihi',3.14,null,true];arr.length;//5注意:直接给Array的length赋一个新的值会导致Array大小的变化:var arr = [1,2,3];arr.length;//3a

再见,重复的你(数组去重)

前言昨天跟在前端好友聊天时,她提到了一个问题:“数组去重你会怎么写?”。想了想,其实有好几种方法,决定在这篇笔记中做一些记录。思路一:双层循环,外层循环元素,内层循环时比较值如果有相同的值则跳过,不相同则push进数组Array.prototype.distinct = function(){var arr = this,result = [],i,j,len = arr.

【译】JavaScript 中的命名空间

原文链接: Namespacing in JavaScript译文原链: 【译】JavaScript 中的命名空间全局变量应该由有系统范围相关性的对象们保留,并且它们的命名应该避免含糊并尽量减少命名冲突的风险。在实践中,这意味着你应该避免创建全局对象,除非它们是绝对必须的。不过,恩,这些你早都知道了……所以你对此是怎么做的?传统方法告诉我们,最好的消除全局策略是创建少数作为

backbone

backboneBackbone.js提供模型(models)、集合(collections)、视图(views)的结构。Models: 是引用程序的核心,也是表示数据,用于绑定键值数据和自定义事件Collectoins:是对Model的一个容器,包含多个模型,并提供一些方法,来访问这些模型,集合附有可枚举函数的丰富APIView:可以在视图中声明时间,在视图中处理集合或者

[译] 你想知道的关于 JavaScript 作用域的一切

原文链接: Everything you wanted to know about JavaScript scope原文作者: Todd MottoGithub: 你想知道的关于JavaScript作用域的一切(译)JavaScript中有许多章节是关于scope的,但是对于初学者来说(甚至是一些有经验的JavaScript开发者),这些有关作用域的章节既不直接也不容易理解

代码片段:AES 加解密代码

function encrypt (plaintext) { var algorithm = 'aes-256-cbc' var key = 'I am a happy key.' var sha256sum = crypto.createHash('sha256') var _key = sha256sum.update(key).digest() var _iv = '

【源码解析】Vue.js的监听实现

一说到监听,当然就离不了设计模式中鼎鼎大名的观察者模式。举个例子,你家后院着火了,可一定要等到烟雾很大火光很亮你才能发现啊,可是当你安装了一个火灾预警器,当发生火灾就立马能够通知到你了。这就是一个典型的观察者模式。当然也还有一些其他变种,比如发布/订阅(publish/subscribe)模式。我们知道如果要将数据和视图关联起来,在数据变更的时候,同步视图,同理视图变更,数

初步了解this

在面向对象编程中,this指针的指向我经常弄不清楚,看了几篇博客之后,乘有了一点点了解,赶快做笔记记录下来。 this的指向取决于调用的模式,而在js中有4中调用模式:方法调用模式,函数调用模式,构造函数调用模式,apply调用模式 方法调用模式 当一个函数是作为一个对象的属性被调用时,this会指向该属性所属的对象。 var name = 'window'; var pe