何时使用:
在任何不得不用的场合使用。
基于原型的面向对象。
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的常见攻击方式:
- 伪造表单提交目的地,从而窃取数据。
- 伪造数据,绕过合法性验证。
依赖客户端的校验是不安全的。javaScript:document.myForm.Onsubmit = function(){return true;};void(0);
- 采集数据,窃取网页内容。
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对象是否被成功装载。
浙公网安备 33010602011771号