三十道JS常见程序题(三)

21、写出程序运行的结果?
for(i=0, j=0; i<10, j<6; i++, j++){ k = i + j;}
结果:10
22、阅读以下代码,请分析出结果:

var arr = new Array(1 ,3 ,5); 
arr[4]='z';
arr2 = arr.reverse(); 
arr3 = arr.concat(arr2);
alert(arr3);

弹出提示对话框:z,,5,3,1,z,,5,3,1
23、截取字符串 abcdefg 的 efg
alert('abcdefg'.substring(4));
24、判断一个字符串中出现次数最多的字符,统计这个次数

答:var str = 'asdfssaaasasasasaa'; var json = {};
for (var i = 0; i < str.length; i++) { if(!json[str.charAt(i)]){
json[str.charAt(i)] = 1;
}else{
json[str.charAt(i)]++;
}
};
var iMax = 0; var iIndex = ''; for(var i in json){
if( json[i]>iMax){
iMax = json[i]; iIndex = i;
}
}
alert('出现次数最多的是:'+iIndex+'出现'+iMax+'次');

25、将数字 12345678 转化成 RMB 形式 如: 12,345,678

//个人方法;
//思路:先将数字转为字符, str= str + '' ;
//利用反转函数,每三位字符加一个 ','最后一位不加; re()是自定义的反转函数,最后再反转回去! for(var i = 1; i <= re(str).length; i++){
tmp += re(str)[i - 1];
if(i % 3 == 0 && i != re(str).length){ tmp += ',';
}
}

26、加减运算

alert('5'+3); //53 string
alert('5'+'3'); //53 string 
alert('5'-3); //2 number
alert('5'-'3'); //2 number

27、计算字符串字节数:

new function(s){ if(!arguments.length||!s) return null; if(""==s) return 0;
var l=0;
for(var i=0;i<s.length;i++){
if(s.charCodeAt(i)>255) l+=2; else l+=1; //charCodeAt()得到的是 unCode 码
}   //汉字的 unCode 码大于 255bit 就是两个字节alert(l);
}("hello world!");

28、看下列代码,输出什么?

var a = new Object(); 
a.value = 1;
b = a; 
b.value = 2; 
alert(a.value);
执行完后输出结果为 2

猜你喜欢

转载自blog.51cto.com/14648170/2506098