[转]去百度面试的javascript 收获
这是我记得的问题,基本都没答上来,大家知道的教教小弟,咱不能再不会了
1.在js里类的继承一般是类抄写和原型继承混合使用,在extjs的extend里就是这两种方式混合
但考官问我,这样不是也在子类里加入了对父类函数的引用吗,(会在子类里加上superClass属性)这不是也是污染吗,怎么做更好的,当时被问傻
2.p元素里可不可以加div,不可以为啥,平时从来没想过这个问题
这个我找到了答案
不可以,我试过了
New Document
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
解析在ie6、ff3下看被解析成了3个元素p div p
看了一下p的解释
p是block_level元素
没有其他的块级元素可以牵入到p里
3.DomContentLoad大家都知道,在ie里一般用添加个script里边用defer(ext实现的方式)或者用document.documentElement.doScroll()一直掉用到不报错(jquery的实现方式),ff下用DOMContentload事件
可问题是当你的dom数非常庞大时,DOMContentLoad会不是失效而不执行,倒,从来没想过。
我的答案我把sina的首页拷了下来去了所有的script,在最低下加了domcontentload,执行
sina首页够发杂了吧照样可以这个问题不会发生
这个只能在ff下看
http://124.42.34.97/Noname2.html
4。做动画一般是setTimeout/setInterval,当多个并发时,一般是clear,问题是问当你clear了是时间戳,但调用的函数呢是否被清除了呢,倒,我想是会清吧(从来没想过这个问题)。
5。在怪异模式和传统模式下区别,这个平时都是用xhtml模式,实在在这方面不太知道
在怪异模式下 ie的宽=width+padding+margin, xhtml模式=width
就知道这个了,往大家不从,自此谢谢了,学习
6.html元素的语义,这个这是不怎么看,其实就是根本没看过,呵呵
7.正则,当时问了(?=)(?:)的区别
一直在用(?=)没用过(?:)
现在知道了
"ab".match(/a(?=b)/)打印a
"ab".match(/a(?:b)/)打印ab
呵呵
还用就是性能写正则的性能问题
说实话真的是没先过,以前就是想能写的出来外加写的简练,但是性能,没想过
8.浮动,一般我去掉浮动就是加个<div style=clear:both></div>,但这样是多添加了个div,怎么做能不添加多余的div呢,在下一个div里直接写clear:left/right吗
我的答案
New Document
div{
border:1px solid #c0c0c0;
width:200px;
height:200px;
margin:0 5px 0 0;
}
1
2
3
4
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
9.在table下除了tbody是紧跟的元素还有别的元素吗
我的答案thead ,tfoot,tbody
最失望的是没能见到月影(3面才可能看到),但是收获也不少,知道了自己的许多的不足,收获大于失去的