201701-17 JavaScript数组方法总结 说起来很搞笑,我在用sublime3写排序算法的时候,准备用nodejs来运行,就用sublime3提供的编译功能。但问题来了,我比较挫,写了个死循环,然后sublime3也不给输出提示,我很疑惑的连续跑了3遍,过了一会电脑发热,风扇开始叫了,我察觉到,一看进程,3个node进程在狂吃内存和cpu,我在想,这个bug该反馈给sublime3还是node呢?JavaScript中的数组本身就很特别,不像C或Java,搞了数组、li... 继续阅读 >
201612-12 五个典型的javascript面试题 在IT界,需要大量的javascript开发者。如果这个角色能够最佳地展现你的能力,那么你有许多机会换家公司,以及提高薪水。但是在你被公司录取之前,你需要展现你的技术,以便通过面试环节。在这篇文章中,我会展示你五个典型的问题。问题1:范围(Scope)思考以下代码:(function(){vara=b=5;})();console.log(b);控制台(console)会打印出什么?答案上述代码会打印出5。这个问题的陷阱... 继续阅读 >
201612-06 JavaScript易错知识点整理 前言本文是我学习JavaScript过程中收集与整理的一些易错知识点,将分别从变量作用域,类型比较,this指向,函数参数,闭包问题及对象拷贝与赋值这6个方面进行由浅入深的介绍和讲解,其中也涉及了一些ES6的知识点。JavaScript知识点1.变量作用域vara=1;functiontest(){vara=2;console.log(a);//2}test();上方的函数作用域中声明并赋值了a,且在console之上,所以遵循就近原则输出a等于2。... 继续阅读 >
201611-30 javascript之活灵活现的Array 前言就如同标题一样,这篇文章将会灵活的运行Array对象的一些方法来实现看上去较复杂的应用。大家都知道Array实例有这四个方法:push、pop、shift、unshift。大家也都知道push+pop实现栈,shift+push实现队列。在这里不讨论什么先进后出、先进先出。但一面这个题将要用到这几个方法。题目螺旋矩阵这个名词,在后台语言中可能很熟悉,他是个二维数组,他有什么特点呢?请看下图:以上是一个从外到... 继续阅读 >
201611-28 编写高性能的 JavaScript 本文的初衷是想介绍如何利用些简单的代码小技巧就能促进JavaScript编译器的优化进程从而提升代码运行效率。特别是在游戏这种对于垃圾回收速度要求较高,你性能稍微差点用户就能见到白屏的地方。Monomorphism:单态性JavaScript中允许函数调用时候传入动态参数,不过就以简单的2参数函数为例,当你的参数类型、参数数目与返回类型动态调用时才能决定,编译器需要更多的时间来解析。编译器自然地希望能够处理那些单态... 继续阅读 >
201611-23 JavaScript常见原生DOM操作API总结 最近面试的时候被这个问题给卡了,所以抽时间好好复习一下。几种对象NodeNode是一个接口,中文叫节点,很多类型的DOM元素都是继承于它,都共享着相同的基本属性和方法。常见的Node有element,text,attribute,comment,document等(所以要注意节点和元素的区别,元素属于节点的一种)。Node有一个属性nodeType表示Node的类型,它是一个整数,其数值分别表示相应的Node类型,具体如下:{ELEMEN... 继续阅读 >