《JavaScript权威指南》读书笔记(二)

日期:2015-12-04


js 的原型:;闭包:闭包这是个相当复杂的东西。。。现在初步理解;
    http://segmentfault.com/a/1190000000652891
    闭包有三个特性:1.函数嵌套函数2.函数内部可以引用外部的参数和变量3.参数和变量不会被垃圾回收机制回收
js模块化:一个链接:Javascript模块化编程(一):模块的写法;后面还有更复杂的一些东西,下次再看;确定对象类型:typeof 不是object就是类型,否则tostring()方法返回值,但这样还是不能判断自定义类;
——————————————————————————————————————————————————————————
客户端js部分:
defer属性:继续解析并HTML文档并延迟脚本的执行,直到遇到一个无法延迟的脚本;
功能测试(解决不兼容性):例:if(element.addEventListener){}else if(element.attachEvent)else...;
条件测试:例:bootstrap中的一段  
    <!--[if lt IE 9]>
      <script src="//cdn.bootcss.com/html5shiv/3.7.2/html5shiv.min.js"></script>      <script src="//cdn.bootcss.com/respond.js/1.4.2/respond.min.js"></script>     <![endif]-->
js的角色是增加信息的表现力,而不是负责信息的表现。一个重要原则是,设计代码以使即使js解释器被关闭,使用它的web页面也能发挥作用。
<noscript>标记;
onload句柄:文档解析之后,所以脚本都运行,并且所有辅助内容载入,浏览器启动onload事件。
onunload:用户离开web页面;
在包含较大的图像或很多图像的文档中,在图像载入onload事件触发之前,主文档可以很好的解析。在这种情况下,可能希望在onload之前操作文档。一种技术是把操作代码放到文档的末尾。一种特定于IE的技术是把文档操作代码放入到一个既有defer属性又有src属性的<script>标记中。一种特定于Firefox的技术是把文档操作代码作为未详细说明的DOMContentLoad事件的一个事件句柄,当文档被解析而图像等外部对象还没有完全载入的时候,这个事件就启动了。
同源策略:协议、主机、载入文档的URL接口;
跨域:修改domain;

一些其他方法:http://www.cnblogs.com/2050/p/3191744.html;收藏以后再看;
跨站脚本(XSS):一类安全问题;
获取窗口、屏幕、浏览器信息:;

原文地址:https://www.cnblogs.com/zqiong/p/5265778.html