摘要:最近在重温设计模式的一些知识,可能是因为之前曾经看过,这次看起来颇觉收货比上次深入,以观察者模式而言,之前也写过一个文章纪录,摘代码如下:var listener = { list : [], //用于保存B的addItem C的addNum等。 publ...
阅读全文
摘要:豌豆荚的前端面试,去了先要做题,而且题目并不是一般的基础题,最后一题是算法,我觉得有点意思,回来还和几个好友交流沟通了一下。先说下题目:A,B两个数据,A递增数组,B递减数组。找出A、B两个数组中交集的第K大个元素。要求有好几条,我只记得一个了,就是不能用多余的存储。既然要找第K大的元素,A本身又是递增的,可以利用A来做文章。在A和B里进行循环,找到相同的元素就记录一次,这样,到第K次的 岂不就是第K大的元素啦(A本身是递增的~~)OK,应该就是这个思路。function getKnunmber(A,B,k){ var n = 0; var lena = A.length; ...
阅读全文
摘要:这是上一篇的后续。Javascript是一种基于对象的语言,遇到的所有东西几乎都是对象。如果我们想要把属性和方法封装成一个对象,应该怎么做呢:假设我们把猫看成一个对象:var Cat = { name : ‘’, color : ‘’}现在,我们需要根据这个原型对象来生成两个具体的实例对象。var cat1 = {};//创建一个空对象cat1.name = “大毛”;cat1.color = “yellow”;var cat2 = {};//创建一个空对象cat2.name = “二毛”;cat2.color = “white”;这样也算是一种封装吧。但这样的写法显然是有些缺点。...
阅读全文
摘要:原型与继承是javascript中基础,重要而相对比较晦涩难解的内容。在图灵的网上看到一篇翻译过的文章,有参考了一些知名博客。我自己总结了几篇。通过这次的总结,感觉自己对原型和继承的认识又增加了很多,究其原因,主要这次,是从语言设计者的角度,理解了当初的原型和继承为什么这么设计, 转换角度后,理解起来就简单多了。 先从历史介绍一下,看起来啰嗦,其实还挺有必要的。 1994年,网景公司(Netscape)发布了Navigator浏览器0.9版。是历史上第一个比较成熟的网络浏览器,轰动一时。但是,这个版本的浏览器只能用来浏览,不具备与访问者互动的能力。比如,如果网页上有一栏"用户名&qu
阅读全文