javascript王者归来(月影-扫描版)学习笔记(2012-8-9)

何时使用:

   在任何不得不用的场合使用。

   基于原型的面向对象。

var a = [-1, -1, 1, -3, -3, -3, 2, 2, -2, -2, 3, -1, -1];

    function f(s,e) {

        var ret = [];

        for (var i in s) {

            ret.push(e(s[i]));

        }

        return ret;

    }

    var b = f(a, function (n) { return n > 0 ? n : 0 });

    alert(b);

document接口:访问页面文档的主要方式。

Window接口 :提供了对浏览器,窗体,框架,对话框以及状态栏的访问方法。

setInterval 提供一个定时执行函数的方法。

 

Void 是javaScript的一个特殊运算符,作用是舍弃任何参数表达式的的值 。这意味着要求解析器检查并计算参数表达式的值,但忽略其结果。

比如那段神奇代码最后的void(0)就可以使用undefined来替代。

 

通常情况下,当一个浏览器生命周期结束时,绝大多数的javaScript变量和对象都会销毁,资源得到释放。

 

客户端生命周期:

 

页面数据加载

页面数据加载完毕

初始化阶段

运行阶段

页面加载完毕

新的请求被发起之前

被用作页面修饰的javaScript代码通常在初始化阶段执行,而负责用户交互操作功能的javaScript则在客户端的运行阶段执行。

 

把声明之外的所用脚本指令都放在运行阶段执行,如此可以避免因为在初始化阶段的DOM元素加载失败或低级的次序问题而导致脚本失效。

 

除了能够动态生成浏览器需要的HTMl文档外(包括图像,表格,框架,表单,元素样式等),javaScript不具备任何图形图像处理能力。

 

利用javaScript的常见攻击方式:

 

  1. 伪造表单提交目的地,从而窃取数据。
  2. 伪造数据,绕过合法性验证。

依赖客户端的校验是不安全的。javaScript:document.myForm.Onsubmit = function(){return true;};void(0);

  1. 采集数据,窃取网页内容。

javaScript: document.body.outerHTML

 

 

obj ={x:1,y:2}是一种javaScript中常见的对象常量的形式,它可以直接作为hash表,即相当于obj.x = 1      ,obj.y=2;

故 var opMap=

{

 “+” :function(a,b){return a+b},

  ……..

} 即是:opMap[“+”] = function(a,b){return a+b}

 

 

第二章浏览器中的javaScript

 

一般来讲,浏览器允许在页面文档的任何节点挂接javaScript代码。

挂接意味着javaScript必须作为document的一个直接或间接的子结点存在。

<script>的使用:

按独立功能划分,将一组功能相近的或是相互依赖的放在一个<javaScript>中

将功能相对独立彼此孤立的放置在多个<javaScript>中。

 

 

一旦声明了 language =“javaScript” 或 type=“text/javaScript” 就只用值为javaScript类型的脚本才能被有效的执行。

 

 

Defer属性   :意思是显示声明脚本在页面装载完成后才被执行。 最大好处是:当嵌入一段脚本时,不必考虑它所依赖的dom对象是否被成功装载。

posted on 2012-08-09 16:37  雨 落  阅读(654)  评论(0)    收藏  举报