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

    一:function函数基础理解

       函数实际上是对象,每个函数实际上都是 function类型的实例。而且与其他引用类型一样具有属性和方法。函数名实际上是一个指向内存堆中某个函数对象的指针。

    定义函数的方式

    1.函数声明:

        function sum(num1,num2){
        return num1+num2;            
        }

    2.函数表达式:

       var sum=function(num1,num2){
       return num1+num2;
       };

          定义了一个变量sum并将其初始化为一个函数,注意到function关键字后面并没有函数名,这是因为在使用函数表达式定义函数,没必要使用函数名,通过变量 sum即可引用函数。还要注意函数末尾有个分号,就像声明其他变量一样。

      Arrow Function(箭头函数):

    箭头函数,顾名思义就是用箭头(=>来定义的函数,不会用到关键字‘function’),例如:

    let sum = (a, b)=> {return a + b;}

    效果等同于:

    var sum = function(a, b){return a + b;} 

    但是,事实上上面两个function存在很多不同。

    箭头函数的定义形式有很多种,具体的有:

    1: 什么情况下都可以型

    let sum = (a, b)=>{return a + b;}
    
    这种是最常用,最通用的形式。
    
    

    2: 只有一个参数型

    let self = num1 => {return num1;}
    
    可以看到相对第一种定义的区别是:没有用()包围参数. 这种形式只可以在这种情况下用。
    
    

    3: 没有参数型

    let functionA = ()=> {return 'hehe';}
    
    当没有参数时,必须要有'()'。
    

    4: 两个参数及其以上型

    
    let sum = (a, b) => {return a + b;}
    
    当有两个及其以上的参数时,也必须要用‘()’把参数括起来。
    

    5:没有return&&没有{}

    let sum = (a, b) => a + b;
    
    你可以同时不给return关键字和{},效果`等同`于上面的第4种情况
    

    6: 没有return && 有{}

    let sum = (a, b)=> {a + b;}
    
    这种情况不等于第5种,这种情况下`'a+b'`并不会作为这个函数的返回值,如果你调用这个函数,得到的结果`undefined’`
    

    7: 有return && 没有{}

    let sum = (a, b)=> return a + b;
    

    (注明,以上的第5,6,7点针对的是函数方法体的部分,不论函数参数是几个,结果没有区别;同样的,第2,3,4点针对的是函数的参数部分,不论函数的方法体怎么写,对结果没有影响。)

    constructor构造函数属性:

    定义和用法

    constructor 属性返回对创建此对象的数组函数的引用。

    语法

    object.constructor

    例子 1

    我们将展示如何使用 constructor 属性:

    <script type="text/javascript">
    
    var test=new Array();
    
    if (test.constructor==Array)
    {
    document.write("This is an Array");
    }
    if (test.constructor==Boolean)
    {
    document.write("This is a Boolean");
    }
    if (test.constructor==Date)
    {
    document.write("This is a Date");
    }
    if (test.constructor==String)
    {
    document.write("This is a String");
    }
    
    </script>
    

    输出:

    This is an Array

    例子 2

    我们将展示如何使用 constructor 属性:

    <script type="text/javascript">
    
    function employee(name,job,born)
    {
    this.name=name;
    this.job=job;
    this.born=born;
    }
    
    var bill=new employee("Bill Gates","Engineer",1985);
    
    document.write(bill.constructor);
    
    </script>
    

    输出:

    function employee(name, job, born)
    {this.name = name; this.job = job; this.born = born;}
    
  • 相关阅读:
    浅析HTT
    html5移动端页面分辨率设置及相应字体大小设置的靠谱使用方式
    CSS--posiion学习日记
    面向对象程序设计课程感想
    OO第二单元(5-8周)作业总结
    OO第一作业周期(前四周)总结
    OO第三阶段作业总结
    OO第二单元作业总结
    Java学习第一阶段作业总结
    面向对象OO课程学习总结
  • 原文地址:https://www.cnblogs.com/ljming/p/9940260.html
Copyright © 2011-2022 走看看