1、关于类型转换: null * 5 = ?
解:答案为0,因为运算时,实际上是js引擎要进行如下操作Number(null) * 5 = 0 * 5 = 0,就像这样[] == ![]也是成立的。


2、-13 >> 2 = ?
解:答案为-4,这是有符号的位运算问题,太坑了,反正就算看几遍,不常用还是会忘,这里就不解释了。


3、 a标签的target有哪些?
解:_blank,_parent,_top,_self(注意,要知道分别什么作用)。


4、[1,2,3,4,5,6,7].slice(-3,-1)的结果?
解:这是一道非主流的题目,实际上这里的负值指的是从右向左,所以结果应该是[5,6](太奇葩的用法了,不过应该有一定的实用价值) 。


5、html页面中的主要的转义字符?
解: 小于号:<大于号>空格: 等等。(话说,谁会去记这个,不过咋看来还是挺好记得)。


6、怎么将一个字符串"a_b_c"反转过来(填空题)?
解:碰到如此问题,很多人想到的就是用算法,可是人家这是填空题啊,一条杠给你添耶,你怎么弄?还是一句话解决吧——不会!开个玩笑,真正的解决方案是:[].slice.call("a_b_c",0).reverse().join("")。 意思是,先用数组的方法将字符串转换为真数组,再将这个数组反转,反转之后拼接成字符串即可。


7、创建一个类,并且这个类拥有自己的私有、公有属性和方法。
解:懒得写代码了,JS怎么真正的让一个对象具有私有成员,方法只有一个——闭包 !


8、js的sort方法用的什么设计模式,sort底层用的是什么算法?
解:策略模式,冒泡排序(哥当时写的是交换排序,他直接给了一个叉,我表示很迷茫——冒泡排序、快速排序不是交换排序?) 


9、void(0)返回值是什么?
解:undefined(我擦,谁记这个?疯了?本身void这个关键字在js里面就被列为糟粕,详情请看《javascript语言精粹》)。


10、 typeof (null)结果是什么?
解:"object"(奇葩的题目,看你个人喜不喜欢没事玩console了,某些高人称之为“常识”)。


11、 js的四种基本数据类型?
解:严格意义上来说,js是弱类型,基本上任何玩意儿都能称为对象,非要说数据的类型,应该是:字符串,数值,布尔值,空值。(之所以这么认为,是因为js是在赋值的时候,自动说明其数据类型,也就是说,弱类型并不是指不分数据类型了。我们看到它们之间能直接做运算,实际上它们在运算的时候都会做自动类型转换)。

posted on 2013-11-02 13:24  Joo.web  阅读(258)  评论(0编辑  收藏  举报