函数和对象的关系

  • JavaScript中对象有以下几种常用功能:
  1. 对象可以通过字面量来创建。
  2. 对象可以赋值给变量、数组项、或其他对象的属性。
  3. 对象可以作为参数传递给函数。
  4. 对象可以作为函数的返回值。
  5. 对象能够具有对象创建和分配属性。
  • JavaScript中函数拥有对象的所有能力:
  1. 通过字面量创建。
    function test(){}
  2. 可以赋值给变量、数组项、或其他对象的属性。
    1 var test=function(){};
    2 test.push(function(){});
    3 test.data=function(){};
  3. 可以作为参数传递给函数。
    function call(test){ test();};
    call(function(){});
  4. 可以作为函数的返回值。
    1 function return(){
    2 return function(){};
    3 }
  5. 能够具有对象创建和分配属性。
    var test=function(){};
    test.data="hello";

     函数也是对象,唯一的区别是:函数可以被调用。函数会被调用以便执行某种动作。

  • 回调函数

   其他代码会在随后的某个合适时间点“回过来调用”的函数。

  1. 作用:利用比较器排序。
1 var values=[0,3,2,5,7,4,8,1];
2 values.sort(function(value1,value2){
3    return value1-value2;
4 });
  • 函数定义的四种方式(前两种最常用):函数的创建方式影响着函数被调用的时间、函数的行为以及函数可以在哪个对象上被调用。
  1. 函数声明:
  2. 函数表达式
  3. 箭头函数(ES6新增语法)
  4. 函数构造函数
  5. 生成器函数
  • 函数声明和函数表达式

      1. 函数声明

   function samurai(){
        //函数体
    }

 

    构成:以强制性function开头,其后紧跟函数名,以及括号内的可选参数名

       2.函数表达式

var a=function(){};

 

       将函数赋给变量。

       区别:函数声明中函数名是强制的,对于函数表达式函数名是可选的。因为函数声明是独立语句,函数的基本要求是它能够被调用,所以它必须有一种被引用方式,只能通过名字。

      3.箭头函数(ES6新增特性)  箭头函数的this与声明所在的上下文相同,没有单独的this值。

(param1,param2...)=>expression

 

  接收多个参数并返回表达式的值。

   当函数表达式没那么简单时,箭头操作符后边需要跟一个代码块。

1 var greet=name=>{
2    var hellostring="greeting";
3    return hellostring+name;    
4 }
5 greet("ml"); //"greetingml"

 

    箭头函数中return和普通函数一样,如果return后边没有语句,返回值是undefined,反之,返回值为return后边表达式的值。

 

posted @ 2018-08-26 12:51  阿兰儿  阅读(510)  评论(0编辑  收藏  举报