JS 函数

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
    </head>
    <body>
        <script >
        
        //参数无需声明 调用时少了参数自动默认undefined
            function myFunction(x,y){
                if(x==undefined){
                    x=0;
                }
            }
            
        //参数太多 使用arguments来调用参数数组
            var x=fun1(20,30,50,60);
            function fun1(){
                
                for(i=0;i<arguments.length;i++){
                    console.log(arguments[i]);
                }
                return 1;
            }
        //函数构造器
            function fun2(arg1,arg2){
                this.name=arg1;
                this.age=arg2;
            }
        //创建新对象
            var p=new fun2("str",18);
            console.log(p);
        //call方法 参数为对象
            var person={
                name:function(){
                    return this.name;
                },
                
                //带参数引用
                nameAge:function(age){
                    return this.name+" "+age;
                }
            };
            var p1={
                name:"str"
            };
            var p2={
                name:"lll"
            };
            console.log(person.name.call(p2));
            console.log(person.nameAge.call(p1,18));
            
        //apply() 方法 和call方法类似 但参数可以为数组
            var animal={
                name:function(age,city){
                    return this.name+" "+age+" "+city;
                }
            };
            var dog={
                name:"dog"
            };
            console.log(animal.name.apply(dog,[5,"NewYork"]));
            //在数组应用
                //数组无max方法
            Math.max.apply(null,[1,2,13]);
        //闭包  自调用函数
            var add=(function(){
                var counter=0;
                return function(){return counter=counter+1;}
            })();
            add();
            add();
            console.log(add());
        //单独使用this 对象为全局对象[object Window]
            var t=this;
        //事件处理中的this 指的是接收此事件的 HTML 元素
            
            
        //箭头函数
            hello=()=>{
                return "str";
            }
            //只有返回值 可以去掉return
            hello1=()=>"str1"; 
            //带参数
            hello2=(arg)=>"str2"+arg;
        </script>
    </body>
</html>

 

posted @ 2022-03-14 21:18  lwx_R  阅读(17)  评论(0编辑  收藏  举报