zoukankan      html  css  js  c++  java
  • JS函数

    1.return返回值

    数字、字符串、布尔、函数、对象(元素、数组、json、null)、未定义

    (1)函数名称加括号就等于return后面的值

    (2)所有函数默认返回值:未定义

    (3)return后面任何代码都不执行了

    //fn1(); =>100
    alert(fn1()); //100
    alert(typeof fn1());//number
    function fn1(){
        return 100;
    }
    
    //fn2=function(){alert(1);},所以它不会执行函数
    alert(fn2()); //function(){alert(1);}
    fn2()(10);//10
    function fn2(){
      return function(a){
        alert(a);
      }
    }
    
    
    fn3().onload=function(){
      document.body.innerHTML="123";
    }
    function fn3(){
      return window;
    }
    

      

    应用getId函数

    function getId(elem){ 
      return document.getElementById(elem); 
    } 
    //获取id名称为box的元素 
    getId("box");
    

      

    获取元素$()函数

    function $(v){
        if(typeof v ==='function'){
            window.onload=v;
        }else if(typeof v==='string'){
            return document.getELementById(v);
        }else if(typeof v==='object'){
              return v;
        }  
    }
    

      

    小应用

    function fn1(n){
        var arr=[];
        for(var i=1;i<=n;i++){
            arr.push(i);
        }
        return arr;
    }
    alert(fn1(5));  //[1,2,3,4,5]
    alert(fn1(7));  //[1,2,3,4,5,6,7]
    

      

    2.实参arguments  ---实际传递的参数

    fn1(1,2,3);                 //实参---实际传递的参数
    function fn1(a,b,c){   //形参-----形式上,a、b、c这些名代表1、2、3
        //arguments=>[1,2,3]---------实参的集合
      alert(arguments.length)
    }
    
    //当函数的参数无法确定的时候:用arguments
    alert(sum(1,2,3));//6
    alert(sum(1,2,3,4));//10
    function sum(){
      var n=0;
      for(var i=0;i<arguments.length;i++){
        n+=arguments[i];
      }
      return n;
    }
    

      

    实参arguments作用域之间的关系

    var a=1;
    function fn1(a){
        arguments[0]=3;
        alert(a);               //3
        var a=2;
        alert(argument[0]); //2
    }
    fn1(a);
    alert(a);   //1
    

      

      

      

     

  • 相关阅读:
    Tomcat自定义classLoader加密解密
    阿里巴巴2015秋季校园招聘研发工程师在线笔试题
    【Machine Learning】Mahout基于协同过滤(CF)的用户推荐
    基于Jenkins自动构建系统开发
    反射invoke()方法
    java对象序列化与反序列化
    从文本文件逐行读入数据
    Linux下MySQL小尝试
    【Html 学习笔记】第四节——框架
    穷举法
  • 原文地址:https://www.cnblogs.com/yangxue72/p/7805119.html
Copyright © 2011-2022 走看看