----------------------我是第一道题------------------------
1.给string对象添加一个方法strCount,统计每个字符出现的次数,返回类型是json类型字符串;
var str=new String("Number.prototype.reverse");
String.prototype.strCount=function(){
var json=new Object();
var str=this;
for(var i=0;i<str.length;i++){
var name=str.charAt(i);//返回指定位置的字符
if(json[name]==null){//第一次得到json属性为空,即还没有碰到过的字符,数量为1
json[name]=1;
}
else{//json里面已经存在的字符,数量加1
json[name]+=1;
}
}
return JSON.stringify(json);
};
alert(str.strCount());
------------------显然,下面是第二道-----------------------
var number=2;
var obj={
number:4,
fn1:(function(){
this.number*=2;
number=number*2;
var number=3;
/*相当于window.number=2*2=4;
* var number;
* number=number*2=NaN;
* number=3;
* */
return function(){//window.number=4; 局部number=3;
this.number*=2;
number*=3;
console.log(number);
}
})()
};
var fn1=obj.fn1;
fn1();//9//this指谁window;//9//this指向的是window
obj.fn1();//27//this指向的是obj,obj.number=8,局部变量number=9//9*3=27//闭包将值保存了下来
console.log(window.number);//8
console.log(obj.number);//8
学会了新的写博客的技能,终于不用长串地贴了,吼吼~加油