美文网首页
Function类型

Function类型

作者: 乐亦栗 | 来源:发表于2017-07-12 23:04 被阅读15次

作为值的函数

把函数本身作为参数传递

function sum(num) {
    return num+10;
}

function box(sum,num) {   //把sum函数作为值传入box函数中
    return sum(num);
}

var result = box(sum,10);
result;
20

函数的返回值作为参数传递

function box(sum,num) {
    return sum+num;
}
function sum(num) {
    return num+10;
}
var result = box(sum(10),10);
result;
30

以我小白的眼光来看,此处容易混淆,值得反复思量。

函数的内部属性

arguments

类数组对象,主要用途是保存函数参数,该对象有个名叫callee的属性,该属性是一个指针,指向当前arguments对象对应的函数;经典的阶乘函数如下:

function factorial(num) {
    return num*arguments.callee(num-1);
}

this

this指向当前对象

var color = "red";
function sayColor() {
    console.log(this.color);
}
sayColor();
red

var box = {
    color: "blue"
}
box.sayColor = sayColor;  //相当于把sayColor方法复制给了box
box.sayColor();
blue
//我们可以看一下现在输入box控制台返回的是什么
box;
Object {
     color: "blue",
     sayColor: sayColor(),
     ...
}

函数属性和方法

length属性

length属性表示函数希望接收的命名参数的个数

prototype属性

在创建自定义引用类型以及实现继承时,prototype的属性是极其重要的。

每个函数都包含两个非继承而来的方法:apply()和call()

这两个方法作用相同,只是其接收参数的方式不同。其真正强大的地方是能够扩充函数赖以运行的作用域。
js高程,pages:117

function sayColor() {
    console.log(this.color);
}
var color = "red";
var box = {
    color: "blue"
}
sayColor.call(this);
red
sayColor.call(box);
blue

好处就是:去除耦合关系,例如前面关于this部分的例子中box.sayColor = sayColor;不会在再出现。

相关文章

  • Function 类型

    定义函数的方式: 函数内部属性 arguments 它是一个类数组对象,包含着传入函数中的所有参数。 虽然 arg...

  • Function类型

    函数声明与函数表达式 声明提前 函数表达式的name无法在函数外使用 name只是地址引用,函数本体在内存堆中 引...

  • Function类型

    作为值的函数 把函数本身作为参数传递 函数的返回值作为参数传递 以我小白的眼光来看,此处容易混淆,值得反复思量。 ...

  • Function类型

    函数实际上是对象。函数名是指向函数的指针。使用不带圆括号的函数名是访问函数指针,而非调用函数。 函数定义 函数声明...

  • Function类型

    一、概念 Function(函数)类型实际上是对象。每个函数都是 Function 类型的 实例,而且都与其他引用...

  • Function 类型

    Function 类型 函数实际上是对象。每个函数都是 Function 类型的实例,而且都与其他引用类型一样具有...

  • Function类型

    函数名仅仅是指向函数的指针,函数名与包含对象指针的其他变量没有什么不同。换句话说,一个函数可能会有多个名字,如下面...

  • Function类型

    1.函数实际上是对象。 2.每个函数都是Function类型的实例,而且都与其他引用类型一样具有属性和方法。 3....

  • Swift 学习笔记 - 函数与闭包

    函数 使用函数类型 (Using Function Types) 函数类型作为参数类型 (Function Typ...

  • 引用类型-Function类型

    每个函数都是Function类型的实例,而且都与其他引用类型一样具有属性和方法;由于函数是对象,因此函数名实际上也...

网友评论

      本文标题:Function类型

      本文链接:https://www.haomeiwen.com/subject/ovrihxtx.html