美文网首页
函数的三种角色

函数的三种角色

作者: 阿九是只大胖喵 | 来源:发表于2017-03-04 12:19 被阅读0次

函数本身也会有一些自己的属性:
-> length: 形参的个数
-> name: 函数名
-> prototype: 类的原型,在原型定义的方法都是当前Fn这个类实例的公有方法
-> __proto__: 把函数当做一个普通对象,指向Function这个类的原型

函数在整个JavaScript中是最复杂,也是最重要的知识:
一个函数存在多面性:
-> 它本身就是一个普通的函数,执行的时候形成私有作用域(闭包),形参赋值,预解释,代码执行,执行完成后栈内存销毁或者不销毁。
-> "类": 它有自己的实例,也有一个叫做prototype的属性,是自己的原型,它的实例都可以指向自己的原型。
-> "普通对象": 和var obj = {}; 中的obj一样,就是一个普通的对象,它作为对象可以有一些自己的私有属性,也可以通过proto找到Function.prototype。
这三者之间是没有必然关系的。

原型链完整版.png
    function Fn() {
        var num = 500;
        this.x = 100;
    }
    Fn.prototype.getX = function () {
        console.log(this.x);
    };
    Fn.aaa = 1000;
    var f = new Fn();

    console.log(f.num); // undefined, this -> f
    console.log(f.aaa); // undefined
    var res = Fn();
    console.log(res); // undefined, this -> window
    console.log(Fn.aaa); // -> 1000

相关文章

  • 函数三种角色

    prototype 与 proto的区别 函数a本身就是一个普通的函数,执行的时候形成私有的作用域(闭包),形参赋...

  • 函数的三种角色

    函数本身也会有一些自己的属性:-> length: 形参的个数-> name: 函数名-> prototype: ...

  • 函数的三种角色

    函数本身有自己的属性:1、length:0 形参的个数2、name:Fn 函数名3、prototype:类的原型,...

  • JavaScript中的call、apply、bind深入理解

    一、函数的三种角色 首先要先了解在函数本身会有一些自己的属性,比如: length:形参的个数; name:函数名...

  • js里面函数的三种角色

    1、函数本身也有一些自己的属性// length: 行参的个数// name: 函数名// prototype: ...

  • JavaScript函数定义和方法介绍

    一.函数定义三种方法 函数的三种定义方法分别是:函数声明、函数表达式和Function()构造函数的方法。下面依次...

  • 老师的三种角色

    一个优秀的老师必须要同时能够扮演好三种角色,同时能够在这三种角色中随心所欲的自由切换,自如地穿梭于三种角色之间而没...

  • js笔记三十七之函数的三种角色

    函数本身也会有一些自己的属性:length: 0 形参的个数name: "Fn" 函数名prototype 类的原...

  • operator-()

    负号重载成员函数友元函数负号重载函数三种方式都可

  • Canal部署各角色如何协作

    Canal中的角色 Canal中包含三种角色,分别是: Canal server,通过canal-deployer...

网友评论

      本文标题:函数的三种角色

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