----------------------我是第一道题------------------------json
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());
------------------显然,下面是第二道-----------------------this
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
学会了新的写博客的技能,终于不用长串地贴了,吼吼~加油
spa