函数(1)

普通函数声明

        通常来说函数的声明会有一个返回值,

        如果没有设置return,该函数默认返回未undefined,如果设置,将返回该值。执行函数后会返回该值。

     function abc(age,num,list) {
         if(!num){
             num=0;
         }
         if(!list){
             list=[];
         }
         if((typeof num)!=="number"){
             console.trace(num+"传入类型错误");
             return;
         }
         if(!(list instanceof Array)){
             console.trace(list+"传入类型错误");
             return;
         }
         console.log("aaaa")
     }
     abc(34,"123",[1,2])

匿名函数声明

        这是匿名函数声明,声明函数的时候没有赋予名称,但是函数声明好以后却赋值给了abc

     var abc=function () {
         console.log("abc")
     };
     var obj={
         a:3,
         b:function () {

         }
     }

Function构造函数

var box=new Function("num1","num2","return num1+num2");
console.log(box(3,4));

函数的执行

        函数执行 :函数名()

        执行后,可以完成函数的代码内容,如果函数内有return 值,这时候执行后会返回该值。

     function abc() {
         return 3+4
     }
     var obj={};
     obj.fun1=abc;
     abc=null;
     console.log(obj.fun1());

        call 方法可以用来代替另一个对象调用一个方法。

        call 方法可将一个函数的对象上下文从初始的上下文改变为由 thisObj 指定的新对象。

        var obj={a:1};
        function abc(num1,num2) {
           obj.a=num1+num2
        }
        abc.call(obj,3,4);
        abc.apply(obj,[3,4]);

        apply应用某一对象的一个方法,用另一个对象替换当前对象

        apply和call基本相似,这里传参的模式产生变化而已,在call中传参使用了逐个传入,apply中是以数组传参带入。

     var max=Math.min.apply(null,[1,2,3,4,5]);
     var arr=[2,3,4,5,7,9,10];
     var max=Math.max.apply(null,arr);
     console.log(max)
     var Maths=Maths || (function () {
         return {
             max:function () {
                 var num=arguments[0];
                 for(var i=1;i<arguments.length;i++){
                     if(arguments[i]>num){
                         num=arguments[i];
                     }
                 }
                 return num;
              },
              min:function () {
                  var num=arguments[0];
                  for(var i=1;i<arguments.length;i++){
                      if(arguments[i]<num){
                          num=arguments[i];
                      }
                  }
                  return num;
              }
        }
    })();

    var max= Maths.max.apply(null,[1,2,3,4,5,6]);
    console.log(max)

return

        在函数中,return是可以返回任何值得,包括对象和函数,为了能够返回一个私有的对象,通常可以使用return

var obj=obj || (function () {
    var sum=0;
    var _age=0;
    return {
        a:sum,
        b:function () {
                    
        },
        set age(value){
            _age=value;
        },
        get age(){
            return _age;
        }
    }
})();
var obj={
    a:3,
    b:function () {

    }
};
obj.age=30;
console.log(obj._age)

        length属性表示函数希望接收的命名参数的个数。        

function abc(age,sex) {

}
console.log(abc.length)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值