js题解(一)

文章目录

    • 斐波那契数列
    • 邮箱验证
    • 计时器

斐波那契数列

     function fibonacci(n) {
    if(n<=2){
        return 1
    }else{
        return fibonacci(n-1)+fibonacci(n-2)
    }
}

使用递归实现

邮箱验证

通过正则表达式

function isAvailableEmail(sEmail) {
    let reg=/^\w+@[\da-z\.-]+\.([a-z]+|[\u4E00-\u9FFF]+)$/
    return reg.test(sEmail);
}

1、^\w + : ^ 代表以后面的开头
\w代表数字+字母+下划线
+ 代表匹配前面的表达式一次或多次 2、[ \da-z.-]+ : [ ] 代表中括号表达式的开始
\d 代表[0-9]的数字,取其一
a-z 代表小写字母,取其一
. 代表匹配 .
- 代表匹配 – 3、([a-z]+|[\u4E00-\u9FFF ]+)$: ()代表子表达的开始
| 代表任选其一
\u 代表Unicode编码
4E00-9FFF为中文字符编码区
$ 代表以前面的表达式结束

计时器

实现一个打点计时器,要求
1、从 start 到 end(包含 start 和 end),每隔 100 毫秒 console.log 一个数字,每次数字增幅为 1
2、返回的对象中需要包含一个 cancel 方法,用于停止定时操作
3、第一个数需要立即输出

 function count(start, end) {
    console.log(start++)
    let timer = setInterval(function () {
        if (start <= end) {
            console.log(start++)
        } else {
            clearInterval(timer)
        }
    }, 100)
    return {
        cancel: function () {
            clearInterval(timer)
        }
    }
}

你可能感兴趣的:(js练习题,javascript,前端,开发语言)