1.写一个字符串反转函数,实现字符串倒序。
document.write(str.split("").reverse().join(""));
2.请借助Array内置对象的相关方法,实现字符串倒序排列。
document.write(Array.from(str).reverse().join(""));
3.写一个函数,能获取文件后缀;
var text ="12345678.txt";
var loc=text.lastIndexOf(".")+1;
document.write(text.substring(loc));
4.请将字符串open_my_door这种形式,转成OpenMyDoor的形式。
var text ="open_my_door";
var newArr=text.split("_");
var str=new Array(3);
for( var i=0;i<newArr.length;i++){
str[i]=newArr[i].substring(0,1).toUpperCase() + newArr[i].substring(1);
}
document.write(str.join(""));
5.写一个实现字符串首字母大写的函数;
var str="ralkhasdlfho";
var newStr;
function change(str){
newStr=str.substring(0,1).toUpperCase()+str.substring(1);
}
6.写一个函数,实现去除字符串左右空格;
var str=" yex j00 ";
var newstr=str.replace(/(^s*)|(s*$)/g,'');
document.write(newstr);
7.写一个获取斐波那契数列前N项的函数,返回一个数组,将数列中的每个数
值存入数组;
function fb(n) {
if(n == 1 || n == 2) {
return 1
}
return fb(n - 1) + fb(n - 2)
}
8.写一个获取阶乘的函数,返回一个字符串,其中是阶乘表达式和结果;
9.用递归的思想,写一个求取n的阶乘的函数。
if(n==1||n==0) return 1;//如果参数bai是0或者1返回1
return n*fun(n-1);//否则返回n和下次递归的积
10.写一个函数,能获取两个日期相差天数;
datedifference=function(sDate1, sDate2) {
var dateSpan,
tempDate,
iDays;
sDate1 = Date.parse(sDate1);
sDate2 = Date.parse(sDate2);
dateSpan = sDate2 - sDate1;
dateSpan = Math.abs(dateSpan);
iDays = Math.floor(dateSpan / (24 * 3600 * 1000));
return iDays
};
11.写一个函数,能求取某个日期是星期几;
<!DOCTYPE html>
<html>
<body>
<p id="demo">
Click the button to display todays day of the week.
</p>
<button onclick="myFunction()">Try it</button>
<script>
function myFunction()
{
var d = new Date();
var weekday=new Array(7);
weekday[0]="Sunday";
weekday[1]="Monday";
weekday[2]="Tuesday";
weekday[3]="Wednesday";
weekday[4]="Thursday";
weekday[5]="Friday";
weekday[6]="Saturday";
var x = document.getElementById("demo");
x.innerHTML=weekday[d.getDay()];
}
</script>
</body>
</html>
12.利用正则和键盘事件,写一个只能输入数字,如果输入非数字,当按键抬起,
会自动消失的input文本控件;
13.利用正则和鼠标事件,写一个过滤HTML标签的文本域控件,如果在文本域中
输入html标签,当光标一旦离开文本域,则其中所有html会自动消失;14.写一个用户注册表单中对用户名的验证。要求是:用户名不可以为空,用户
名必须是3-15位中文。
15.写一个点击“大”、“中”、“小”三个超链,实现页面部分文字随之分别为:
18,14,12号字体的切换效果。
16.写一个当鼠标移入和移出,图片切换的效果。
17.假设a.html和b.html在同一个文件夹下面,请在a.html页面中使用
javascript代码实现:在浏览器中打开a.html五秒钟后,自动跳转到b.html 页面。
function go2b(){
window.location = “b.html”;
window.close();
}
setTimeout( “go2b()”,5000 ); //5秒钟后自动执行go2b()
18.假设a.html和b.html在同一个文件夹下面,请在a.html页面中使用
javascript代码实现:点击这个a.html中的“打开”,弹出一个新窗口。该窗口宽500px,高度为450px,该窗口中显示的页面是b.html页面。
19.求取1-50之间的随机数,不可以出现重复。如果不足两位,则在该数字前补
足“0”。
20.实现一个在页面指定位置,出现一个跳动的时钟效果。
21.写代码,能实现对多选项至少勾选一项的验证;
22.实现多选项的全选、取消全选的效果;
23.实现多选项的全选、反选的效果。
function cc(number){
//获取所有checkbok对象
var chekboxs=document.getElementsByName("song")
for(var i=0;i<chekboxs.length;i++){
if(number==1){
chekboxs[i].checked=true
else if(number==2){
chekboxs[i].checked=false
}else if(number==3){
chekboxs[i].checked=!chekboxs[i].checked
}
}
statistics()
}
function statistics(){
var span= document.getElementById("mySpan")
var checkbox=document.getElementsByName("song")
var total= checkbox.length
var current=0;
for(var i=0;i<total;i++){
if(checkbox[i].checked){
current++
}
}
span.innerHTML="当前选中"+current+"首,共"+total+"首"
}
24.利用DOM知识,实现获取dl标签下dd标签中的内容,也就是希望得到“xxx”。
不允许对现有的HTML代码做任何改动。
25.找到数组["c","a","z","a","x","a"]中每一个元素出现的次数。
var arr = ["c","a","z","a","x","a"]
var obj = {}
for(var i=0;i<arr.length;i++){
//arr[i]
if(obj[arr[i]] == undefined){
obj[arr[i]] = 1
}else{
obj[arr[i]] +=1
}
}
console.log(obj)
26.编写一个方法去掉一个数组中的重复元素。
var ar = [1,2,3,4,5,1,2,4,2]
var newArr = []
for(var i = 0;i<arr.length;i++){
if(newArr.indexOf(arr[i]) == -1){
newArr.push(arr[i])
}
}
console.log(newArr)