美文网首页
函数三种角色

函数三种角色

作者: 欧阳司空 | 来源:发表于2017-07-24 11:26 被阅读9次

    prototype 与 proto的区别

    函数a本身就是一个普通的函数,执行的时候形成私有的作用域(闭包),形参赋值,预解释,代码执行,执行完成后栈内存销毁/不销毁。
    <code>
    function a(){
    console.log(1)}
    dir(a)
    function a()
    arguments:null
    caller:null
    length:0
    name:"a"
    prototype:Object
    proto:function ()
    [[FunctionLocation]]:VM587:1
    [[Scopes]]:Scopes[1]
    </code>
    然后使劲点击proto 原来他的构造器是object
    因为有了函数的proto构造器 所以可以使用apply call bind

    然后使劲点击prototype 原来他的构造器是function Object(){}
    因为他的原型是obj 所以可以a.fn=b这样赋值

    总结 普通函数 类 对象,所以ES6的class 就是以前函数的类属性

    相关文章

      网友评论

          本文标题:函数三种角色

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