<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="Generator" content="EditPlus®">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<script>
//使用闭包为每个Person 示例 的level做修改 ,根据修改次数动态修改level
//传入一个level=1 的person。 第一次修改level+1;第二次 修改 level+2;第三次level+3;
var Person=function(name,level){
this.name=name;
this.level=level;
}
Person.prototype.getLevel=function(){
var tempLevel=this.level;
var i=1;
function addLevel(){
var temp=i+tempLevel;
i=i*2;
return temp;
}
return addLevel;
}
//jim 的level 修改了5次
var per1=new Person("jim",0);
var fun=per1.getLevel();
fun();
fun();
fun();
fun();
var level=fun();
alert(level);
//kevin 的level修改了3次
var per2=new Person("kevin",2);
var fun2=per2.getLevel();
fun2();
fun2();
var level2=fun2();
alert(level2);
function init1() {
var pAry = document.getElementsByTagName("p");
for( var i=0; i<pAry.length; i++ ) {
pAry[i].i = i;
pAry[i].onclick = function() {
alert(this.i);
}
}
}
</script>
<title>Document</title>
</head>
<body>
</body>
</html>
JS闭包
最新推荐文章于 2023-05-27 15:22:43 发布