请教大家几个前端问题

  1. html有哪些兼容性?如何解决这些兼容性,解决方法的原理是什么?

  2. BOM与DOM的关系?

  3. 让png在ie6下透明显示的js(DD_belatedPNG)工作原理是什么?

  4. 项目中如何优化或者压缩代码?如何提高性能?优化后结果好坏是通过什么判断的?

阅读 4.5k
5 个回答

各种浏览器兼容都不同,建议使用JQuery框架开发,兼容性强;BOM即浏览器对象模型,没有一套标准,Ajax的XMLHttpRequest即为浏览器对象,用的不多,而DOM是文档对象模型,在DOM解析世界中,有一句话说得好,万物皆节点。下面的问题请自行百度

第一个问题
1.html没有兼容性问题,是浏览器渲染方式和内核的问题。
你所说的兼容无非是dom或者css的问题。
2.BOM是浏览器对象模型,
DOM是文档对象模型
3.不清楚原理,只知道这东西一直在算,很耗性能
4.优化是不断在做的,是你自己思考的,比如你的那些节点事件是不是可以用代理来做,一些图片是不是可以合并成一张图?,js代码是不是可以合并成一个js文件。

4 可以用grunt和gulp

我是来回答第二个问题的,回答之前先说说javascript吧!(可能扯远了哈)
javascript是一门编程语言,一般来说一门编程语言必须有的是基本数据类型,高级数据类型,操作符,关键字,一些内置函数,以及操作数据的函数。

javascript的运行环境是v8引擎。当v8引擎作为浏览器的一部分的时候,浏览器可以给它提供一些浏览器的API(广告商常干的事),比如修改浏览器地址栏内的值,触发浏览器的历史记录的后退/前进/刷新,查看浏览器的版本信息等。javascript又运行在v8引擎上,v8就可以让javascript来调用这些API。于是浏览器上的javascript有location,history,navigator等这些原本该属于浏览器的全局内置对象,这部分不是javascript这门编程语言必须的,却很有用,这部分在javascript里就是BOM(浏览器对象模型)。

浏览器解析一个html文档的时候,它会把html解析成一个树形结构的对象(文档树document tree)。这个过程,浏览器拥有对这个对象的任何操作的‘权限’,然后浏览器将其中的一些‘权限’通过v8引擎,让javascript也能拥有,由于在网页里,这个用处特别大,使用比较频繁,浏览器于是将这个document对象近乎完全让javascript能使用。这个document对象在javascript里就是DOM(文档对象模型)。

以上至少说清楚了什么是浏览器对象,和文档对象,下面来说说模型。

模型是所研究的系统、过程、事物或概念的一种表达形式,对程序对象来说就是模型一定能体现它的核心结构,能描述它的核心的东西。再看DOM,它是document tree的根,提供的接口能让你看得出这个对象是能描述成一颗树的结构的,同理你能从BOM中看得出浏览器的核心工作组件(针对浏览页面而言)。这是模型的解释。

写在最后:

以上纯属个人闲扯,就当是闲来没事看看,不做正误判断。

1.html的兼容性?其实不能这么说,html没有说针对哪一个浏览器的问题,但是有一些需要注意规则,如在html5之前非块级元素里面不能嵌套块级元素。其余的楼主可以多去网上了解写法和规范。
2.BOM和DOM,不解释,网上解释太多,做技术,要学会自己去找答案,而不是提出问题来坐等!
3.png图片在ie6下可以使用滤镜来实现,题主可以去我的网站看看,总结过这些东西。
4.性能优化,不多说,也去我的网站看吧,自己实践然后写过文章。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
101 新手上路
子站问答
访问
宣传栏