第五章 实例

  • 平稳退化:没有JS也能正常运行
  • 分离js:把网页的结构和内容与JS的运动行为分开
  • 向后兼容性:老版本不会因为你的JS而死掉
  • 性能考虑

js->行为层;css->表现层

1. 平稳退化(搜索机器人searchbot)

window对象的open()->创建新的浏览器窗口
window.open(url,name,features)

  • 三个参数都是可选的:
    • 如果省略,空白的浏览器窗口
    • 新窗口的名字,可以通过它在代码里与它进行通信
    • 以逗号分隔的字符串,新窗口的各种属性

JS伪协议

通过一个链接来调用JS函数;真协议:用来在Internet上的计算机间传输数据包,HTTP\ FTP···

  • 伪协议调用JS代码 ×
    <a href="javascript:popUp('http://www.example.com/');">example</a>
  • 内嵌的事件处理函数 onclick ··· ×
    <a href="http://www.example.com/" onclick="this.href; return false;">example</a>

“#”

仅供文档内部使用的链接记号(href="#"不指向任何链接

渐进增强

标记良好的内容就是一切。

2. 向后兼容

  • 对象检测(能当做对象来对待)JS基础

把某方法打包在一个if语句里。
if(method){ statements }×
如果不理解
if(!method){ return false; }

  • 浏览器嗅觉(browser sniffung)

通过提取浏览器供应商提供的信息来解决向后兼容问题。风险非常大,被对象检测取代

3. 性能考虑

  1. 尽量少访问DOM和尽量减少标记

只是查询DOM中的某些元素,浏览器都会遍历整个DOM树

  • 重构代码:学会把遍历结果保存在变量里;一组元素以参数形式传递给函数
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • <a name='html'>HTML</a> Doctype作用?标准模式与兼容模式各有什么区别? (1)、<...
    clark124阅读 8,938评论 1 19
  • 在线阅读 http://interview.poetries.top[http://interview.poetr...
    前端进阶之旅阅读 115,164评论 24 450
  • 前言 归根结底,代码都是思想和概念的体现。没人能把一种程序设计语言的所有语法和关键字都记住,可以查阅参考书来解决。...
    朱细细阅读 8,091评论 4 14
  • 二、东亚教育具有循规蹈矩的“普鲁士基因” 在十九世纪之前,教育其实是个类似手工业的学徒制,不管是东方的私塾还是西方...
    张耘菩阅读 3,211评论 0 1
  • 2015.6.26 周五 受到了一个同胞的关注,画的女儿被推荐了。因为是自家的人设所以根本没有期待被喜欢,然而被看...
    Dr_Million阅读 1,417评论 0 1