zoukankan      html  css  js  c++  java
  • 函数类型

    函数function,是一个对象,也是Function类型的一个实例。而函数名,则是指向这个函数对象的一个指针。函数的定义,有两种方法,函数声明和函数表达式。

    一、没有重载

    如果声明了两个同名函数,则后面的函数会覆盖掉前面的函数。

    二、函数声明与函数表达式

    解析器会先读取函数声明,然后再执行函数表达式。有点像变量提升。

    但是用函数表达式定义的函数,就没有变量提升的功能了,如果函数的调用在函数表达式之前,就会报错。

    三、作为值的函数

    函数可以作为值来使用。

    function compare(attr){
        return function(obj1,obj2){
            var value1=obj1[attr];
            var value2=obj2[attr];
            if(value1>value2){
                return -1;
            }else if(value1<value2){
                return 1;
            }else{
                return 0;
            }
        };
    }
    var data=[{name:"Alice",age:18},{name:"Tony",age:10},{name:"Wang",age:20}];
    var rank=data.sort(compare("age"));
    console.log(rank)

    上面这段代码,作用是将一组对象,按照对象里面的年龄进行从大到小进行排序。采用的方法是sort方法。sort方法里面传的参数是一个函数。

    这个函数在定义的时候,定义的是对象的属性。获取对象的属性,采用的是方括号的方法。obj[attr]。方括号内的值是字符串,所以传入的时候要加双引号。

    如果不是用这种方式获取属性值,可以用点后面跟属性值的方法。

     var value1=obj1.attr;

    但是由于attr传进来的时候仍然是字符串,所以这种方法得到的value1是undifinde。

    对象的属性值获取方法如下:

    var obj=[{name:"Alice",age:18},{name:"Tony",age:10},{name:"Wang",age:20}];
    console.log(obj[1]["name"]);//Tony
    console.log(obj["name"]);//undifined
  • 相关阅读:
    决策树算法
    数据挖掘建模-Logistic回归
    Python数据结构与算法-栈和递归函数
    使用python自动化生成软件著作权的源代码
    一起玩转图论算法(1)图的基本表示
    全网最最最详细的软件著作权申请步骤
    时间序列模式(ARIMA)---Python实现
    宝塔面板怎样部署SSL证书?
    Linux基础概念入门
    转载:VMware workstation创建虚拟机,安装Ubuntu系统
  • 原文地址:https://www.cnblogs.com/qingshanyici/p/10876562.html
Copyright © 2011-2022 走看看