代码改变世界

随笔档案-2013年09月

阿里面试的一点感受

2013-09-26 21:30 by Barret李靖, 14350 阅读, 收藏, 编辑
摘要: 刚坐下不久,面试官到了,他告诉我他花名是”李牧“,表示不认识啊,囧。问我有没有写阿里的笔试题,当时就帮同事做了下,模糊记得自己也做了一份,然后他来了个干瞪眼,说:“你自己做没做都不知道,那来这儿干嘛!“,语塞了几秒钟,回答说:”我有收到不用笔试直接过来面试的短信= =||“。 先给了我四道题目,他趁我做题之际把我的博客和github都瞄了一通。面试题目都比较有深度,我觉得要构思几道不错的题目还挺难的,虽说记得原题,我就不贴出来了,就大概说说他都考核了哪些知识吧~ 1. 值类型 引用类型的理解,如var a = {"x": 1};var b = a;a.x = 2;b.x; 阅读全文

对闭包机制的深入理解

2013-09-23 21:17 by Barret李靖, 4717 阅读, 收藏, 编辑
摘要: 对于JavaScript初学者来说,闭包是一个很神秘的东西,不管看多少遍,依旧搞不清楚闭包是什么,更不明白其内部是什么样的处理机制(更可恶的是每次面试都会被问到)。 说的含糊一点,闭包就是代码块和该代码块上下文(context)相互作用的产物。看一个例子:function foo(){ var x = 1; return function (){ alert(++x); //2 }}var bar = foo();bar(); 先问一个问题,这里到底谁是闭包?是foo还是那个匿名函数?闭包的产生原理 在JavaScript中,函数可以用来分隔作用域,当... 阅读全文

JavaScript中需要注意的几个问题

2013-09-22 15:40 by Barret李靖, 2562 阅读, 收藏, 编辑
摘要: JavaScript是一门弱语言,她使用起来不像C/C++那样有十分繁琐的内存管理、类型定义等,所以学习JavaScript的门槛相对来说也比较低。门槛低并不意味着这门语言很简单,我们在使用的时候会遇到各种千奇百怪的问题,有些是因为浏览器的兼容性引起的,有些是因为JS语法本身所引起的,还有些是因为ECMAScript标准的改变而引起的,总之,这样的问题很多,下面列举几个比较容易忽略的点 1. switch的case判断var t = event.keyCode;switch (t) { case '65': alert("Yay!"); break;} 当k 阅读全文