js中函数的三种角色介绍

零下一度
Lepaskan: 2017-06-29 09:41:59
asal
1699 orang telah melayarinya

注意:Function.prototype是函数数据类型的值,但是相关操作和之前的一模一样->Empty/anonymous

函数本身也会有一些自己的属性:

  length :形参的个数

  name:"Fn" 函数名

  prototype 类的原型,在原型上定义的方法都是当前Fn这个类实例的公有方法

  __proto__ 把函数当做一个普通的对象,指向Function这个类的原型

 

函数在整个JS中是最复杂的也是最重要的知识:

  1、一个函数存在了多面性:

    "普通函数":本身就是一个普通的函数,执行的时候会形成私有的作用域(闭包),形参赋值,预解释,代码执行,执行完成后栈内存销毁/不销毁

    "类":它有自己的实例,也有一个叫做prototype属性是自己的原型,他的实例都可以指向自己的原型

    "普通对象":和var obj = {} 中的obj一样,就是一个普通的对象,他作为对象可以有自己的私有的属性,也可以通过__proto__找到Function.prototype

   这三者之间是没有必然的关系的。

     function Fn(){var num = 500;this.x = 100;
        }
        Fn.prototype.getX = function(){
            console.log(this.x)
        }
        Fn.aaa = 1000;var f = new Fn;
        f.num //undefinedf.aaa//undefinedvar res = Fn();
        res//undefinedFn.aaa//1000
Salin selepas log masuk

Atas ialah kandungan terperinci js中函数的三种角色介绍. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!