JS - functions - all types

JS functions

1 power

function pow(x, y){
    let total = 1;
    for(let i = 0; i < y; i++){
        total *= x;
    }
    return total;
}
console.log(pow(3, 3));

let myFunc = function (x, y){
    let total = 1;
    for(let i = 0; i < y; i++){
        total *= x;
    }
    return total;
}
console.log(myFunc(3, 3));

2 print function

var doStuff = function(){
    console.log("hey");
}
doStuff();

3 function usage

{
    function pow(x, y){
        let total = 1;
        for(let i = 0; i < y; i++){
            total *= x;
        }
        return total;
    }
    
    let coolFunction = [pow];
    console.log(coolFunction[0](3, 3));
    
    let mathFunctions = {
        power: pow
    };
    console.log(mathFunctions.power(3, 3));
    
    pow.description = "power of a number";
    console.log(pow.description);
    
    function callbackExample(callback){
        return callback(3, 5);
    }
    
    console.log(callbackExample(pow));
}

4 memorizing

{
    pow.caculated = {};
    function pow(x, y){
        let stringVersion = x + "^" + y;
        console.log("string version: " + stringVersion);
        
        if(stringVersion in pow.caculated){
            console.log("found");
            return pow.caculated[stringVersion];
        }
        
        console.log("caculating");
        let total = 1;
        for(let i = 0; i < y; i++){
            total *= x;
        }
        pow.caculated[stringVersion] = total;
        console.log(pow.caculated);
        return total;
    }
    
    pow(3, 3);
    pow(3, 3);
    pow(3, 5);
    pow(3, 6);
}

5 default

{
    function pow(x, y, ...extra){ // default y = 2
        console.log(extra);
        let total = 1;
        for(let i = 0; i < y; i++){
            total *= x;
        }
        return total;
    }
    
    function largest(x, ...extra){
        let largest = x;
        for(let i = 0; i < extra.length; i++){
            if(extra[i] > largest){
                largest = extra[i];
            }
        }
        return largest;
    }
    console.log(largest(20, 2, 3, 4, 5, 45));
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值