最近这段时间一直在搞前端JavaScript,以前总觉得JS没什么搞头,经过这一段的应用,才发现Js里面的东西真的很深很深的,不然为什么各大门户网站都招一批JS工程师呢。
以下文章为引用李战老哥的《悟透JavaScript》一文,写的实在太好了,就收录了,以做个备用。
引子
编程世界里只存在两种基本元素,一个是数据,一个是代码。编程世界就是在数据和代码千丝万缕的纠缠中呈现出无限的生机和活力。
数据天生就是文静的,总想保持自己固有的本色;而代码却天生活泼,总想改变这个世界。
你看,数据代码间的关系与物质能量间的关系有着惊人的相似。数据也是有惯性的,如果没有代码来施加外力,她总保持自己原来的状态。而代码就象能量,他存在的唯一目的,就是要努力改变数据原来的状态。在代码改变数据的同时,也会因为数据的抗拒而反过来影响或改变代码原有的趋势。甚至在某些情况下,数据可以转变为代码,而代码却又有可能被转变为数据,或许还存在一个类似E=MC2形式的数码转换方程呢。然而,就是在数据和代码间这种即矛盾又统一的运转中,总能体现出计 ......
最近这段时间一直在搞前端JavaScript,以前总觉得JS没什么搞头,经过这一段的应用,才发现Js里面的东西真的很深很深的,不然为什么各大门户网站都招一批JS工程师呢。
闲话不说,现在看看JavaScript
里的闭包
。
要成为高级 JavaScript 程序员,就必须理解闭包。
本文结合 ECMA 262 规范详解了闭包的内部工作机制,让 JavaScript
编程人员对闭包的理解从“嵌套的函数”深入到“标识符解析、执行环境和作用域链”等等 JavaScript 对象背后的运行机制当中,真正领会到闭包的实质。
原文链接:JavaScript Closures
可打印版:JavaScript 闭包
目录
简介
对象属性名解析
值的赋予
值的读取
标识符解析、执行环境和作用域链
执行环境
作用域链与
[[scope]]
标识符解析
闭包
自动垃圾收集
构成闭包
通过闭包可以做什么?
例
1:为函数引用设置延时
例
2:通过对象实例方法关联函数
例
3:包装相关的功能
其他例子
意外的闭包
Internet Explorer
的内存泄漏问题
简介
返回目录
Closure
......
JavaScript操作服务器控件之Gridview控件
1.JavaScript脚本如下:
<script language="javascript" type="text/javascript">
function gridviewControl()
{
//获取GridView的客户端元素
var table=document.getElementById("GridView1");
//获取第5列(Test_Column,从0开始)的列标题
var title = table.getElementsByTagName("th")[5].innerText;
//循环访问第Test_Column中的控件
for(var i=1;i<table.rows.length;i++)
{
//获取第一个TextBox
var txt1 = table.rows[i].cells[5].getElementsByTagName("INPUT")[0];
&nb ......
s<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>
<body>
<table id="pic" cellpadding="0" cellspacing="0" border="1" width="991" height="439" bordercolor="red">
<tr>
<td>picture chanage!</td>
</tr>
</table>
<Script Language="JavaScript">
window.onload=function()
{
changePicture();
}
function changePicture(){
image = new Array(3); //定义image为图片数量的数组
image [0] = '1.jpg' //背景图象的路径
image [1] = '2.jpg'
image [2] = '3.jpg'
image [3] = '4.jpg'
number = Math.floor(Math.random() * image.length)+1;
document.getElementById('pic').background="images/"+number+".jpg ......
<html>
<head>
<title>changePage</title>
</head>
<body>
<table id="pic" cellpadding="0" cellspacing="0" border="1" width="200" height="100" bordercolor="red">
<tr>
<td>picture chanage!</td>
</tr>
</table>
<script type="text/javascript">
<!--
window.onload=function()
{
changePicture();
}
var time=0;
function changePicture(){
time++;
document.getElementById('pic').background="images/"+time+".jpg";
if(time==3)
changePicture1();
else
setTimeout(changePicture,500);
}
function changePicture1(){
document.getElementById('pic').background="images/"+time+".jpg";
time--;
if(time==0)
changePicture();
else
setTimeout(changePicture1,10000); //设定时间
}
-->
</script>
</body>
</html> ......
个人记录在案,以免遗忘。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>无标题页</title>
<script language="javascript" type="text/javascript" src="http://www.mainaer.com/JS/jquery-1-3-2.js"></script>
</head>
<body>
<div>
<img src="http://www.mainaer.com/skin/maps/4.png" />
<img src="http://www.mainaer.com/skin/maps/5_R.png" />
<img src="http://www.mainaer.com/skin/maps/6.png" />
<img src="http://www.mainaer.com/skin/maps/7.png" />
<img src="http://www.mainaer.com/skin/maps/8.png" />
</div>
<div id="msgTool">
</div>
<script language="javascript" type="text/javascript">
......