1.编写一个方法 求一个字符串的字节长度
<script language=”javascript”type=”text/javascript”>
new function(s)
{
if(!arguments.length||!s) returnnull;
if(”"==s) return 0;
var l=0;
for(var i=0;i<s.length;i++)
{
if(s.charCodeAt(i)>255) l+=2;
else l++;
}
alert(l);
}(”hello你好,我好,大家好!world!”);
</script>
2.编写一个方法 去掉一个数组的重复元素
<script language=”javascript”type=”text/javascript”>
Array.prototype.strip=function()
{
if(this.length<2) return[this[0]]||[];
var arr=[];
for(var i=0;i<this.length;i++)
{
arr.push(this.splice(i–,1));
for(var j=0;j<this.length;j++)
{
if(this[j]==arr[arr.length-1])
{
this.splice(j–,1);
}
}
}
return arr;
}
vararr=["abc",85,"abc",85,8,8,1,2,5,4,7,8];
alert(arr.strip());
</script>
3.说出3条以上ff和ie的脚本兼容问题
IE 有children,FF没有;IE有parentElement,FF没有;IE有innerText,outerText,outerHTML,FF 没有;FF有 HTMLElement,HTMLDivElement,XMLDocument,DocumentFragment,Node,Event,Element 等等,IE没有;IE有数据岛,FF没有;IE跟FF创建HttpRequest实例的方法不一样。。等等。。
4.用脚本写去除字符串的前后空格
String.prototype.trim =function(mode)
{//前后去空格
if (mode==’left’) {
return ((this.charAt(0) == ” “ &&this.length > 0) ? this.slice(1).trim(’left’) : this);
} else
if (mode == ’right’) {
return ((this.charAt(this.length -1) == ” “ && this.length > 0) ? this.slice(0, this.length -1).trim(’right’) : this);
} else {
return this.trim(’left’).trim(’right’);
}
};
5.算出字符串中出现次数最多的字符是什么,出现了多少次
<scripttype=”text/javascript”>
//<![CDATA[var str="adadfdfseffserfefsefseeffffftsdg"; //命名一个变量放置给出的字符串
var maxLength = 0; //命名一个变量放置字母出现的最高次数并初始化为0
var result = ''; //命名一个变量放置结果输入
while( str != '' ){ //循环迭代开始,并判断字符串是否为空
oldStr = str; //将原始的字符串变量赋值给新变量
getStr = str.substr(0,1); //用字符串的substr的方法得到第一个字符(首字母)
eval("str =str.replace(/"+getStr+"/g,'')"); //详细如补充
if( oldStr.length-str.length >maxLength )
{ //判断原始的字符串的长度减去替代后字符串长度是否大于之前出现的最大的字符串长度
maxLength =oldStr.length-str.length; //两字符串长度相减得到最大的字符串长度
result = getStr + "=" +maxLength //返回最大的字符串结果(字母、出现次数)
}
}
alert(result) //弹出结果
//]]>
</script>
6.写出3中使用this的典型应用
在HTML元素事件属性中inline方式使用this关键字:
7.最后一个问题是,如何制作一个combo选项,就是可以输入可以下拉菜单选择。