JS08-函数案例

1,判断数据类型是否是字符串

typeof() 判断变量存储数据的数据类型
返回值不是准备的数据类型
布尔类型 : boolean
数值类型 : number 不区分整数,浮点数,科学计数法
字符串 : string
undefined : undefined
null : object

使用typeof 字符串返回的结果是 ‘string’

    function isStr( ele ){
        // 兼容处理,如果数据的是没有数据
        if(ele === undefined){
            // 终止之后的判断,直接返回报错信息
            return '输入数据不能为空,请输入数据';
        }
        if(typeof(ele) === 'string'){
            return true;
        }else{
            return false;
        }            
    }

console.log( isStr() );

2,判断是否是闰年

返回值: 闰年 / 平年

 function isLeapYear(year){
        // 容错处理

        // 输入内容不能为空
        if(year === undefined){
            return '输入数据不能为空,请输入数据';
        }

        // 数据数据必须是数值
        if( typeof(year) !== 'number' ){
            return '输入的数据必须是数值';
        }

        
        if( (year % 400 == 0) || ( (year % 4 == 0) && ( year % 100 != 0) ) ){
            return '闰年';
        }else{
            return '平年';
        }            
    }

    console.log( isLeapYear( 1234 )  );

3.判断是否是质数

function isPrimeNumber(num){
        // 容错处理
        if(num === undefined){
            return '输入数据不能为空,请输入数据';
        }

        // 数据数据必须是数值
        if( typeof(num) !== 'number' ){
            return '输入的数据必须是数值';
        }

        var res = true;
        for(var i = 2 ; i <= num -1 ; i++){
            if(num % i == 0){
                res = false;
                break;
            }
        }
        if(res == true){
            return '质数';
        }else{
            return '合数';
        }

    }

4.阶乘函数

实现方法1 是 递归函数实现

   function factorial(num){
        if(num == 1){
            return 1;
        }
        return factorial(num-1) * num;
    }

    console.log( factorial(10) );

实现方法2 是 循环实现

function factorial2(num){
    var res = 1;
    for(var i = 1 ; i <= num ; i++){
        res *= i;
    }
    return res;
}

console.log( factorial2(10) );

5.函数方式写出-金字塔

   function setPyramid(line){
        if( typeof(line) != 'number' ){
            return document.write('您输入的参数有误');
        }

        for(var i = 1 ; i <= line ; i++){
            for(var j = 1 ; j <= line - i ; j++){
                document.write('&nbsp');
            }

            for(var k = 1 ; k <= i ; k++){
                document.write('* ');
            }
            document.write('<br>');
        }
    }

    setPyramid(5);

    console.log( setPyramid(5) );
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值