[转]去百度面试的javascript 收获

  这是我记得的问题,基本都没答上来,大家知道的教教小弟,咱不能再不会了

  1.在js里类的继承一般是类抄写和原型继承混合使用,在extjs的extend里就是这两种方式混合

  但考官问我,这样不是也在子类里加入了对父类函数的引用吗,(会在子类里加上superClass属性)这不是也是污染吗,怎么做更好的,当时被问傻

  2.p元素里可不可以加div,不可以为啥,平时从来没想过这个问题

  这个我找到了答案

  不可以,我试过了

  

   [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吗

  我的答案

  

   [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

  9.在table下除了tbody是紧跟的元素还有别的元素吗

  我的答案thead ,tfoot,tbody

  最失望的是没能见到月影(3面才可能看到),但是收获也不少,知道了自己的许多的不足,收获大于失去的