js中的prototype

Posted 随缘梦中人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js中的prototype相关的知识,希望对你有一定的参考价值。

参考文献:阮一峰的博客

  http://www.ruanyifeng.com/blog/2011/06/designing_ideas_of_inheritance_mechanism_in_javascript.html

  http://www.ruanyifeng.com/blog/2010/05/object-oriented_javascript_encapsulation.html

1、为什么会出现prototype

  Every JavaScript object has a prototype. The prototype is also an object.All JavaScript objects inherit their properties and methods from their prototype.所有的js对象都有一个prototype,这个prototype也是一个对象。

  在使用构造函数模式,实例对象时。对于不变的属性和方法,要放在prototype属性上,这样他们在内存中只生成一次。如果是都放在中,没生成一个实例就多生成一次,多占用内存。

  因此,在prototype中存放的是不变的属性以及方法。

2、构造函数创建对象的方式

        function Person(name, age) {
            this.name = name;
            this.age = age;
        }
        //prototype放各实例共享的变量、方法
        Person.prototype = {
            des: "人类",
            eat: function () {
                console.log(\'eat\');
            }
        }
        var person1 = new Person("person1", 12);
        person1.eat();
        console.log(person1.des);
        console.log(person1.name);
        console.log(person1.age);    

   运行截图:

  

 

以上是关于js中的prototype的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段——JS中的面向对象编程

VSCode自定义代码片段9——JS中的面向对象编程

Chrome-Devtools代码片段中的多个JS库

十条jQuery代码片段助力Web开发效率提升

十条jQuery代码片段助力Web开发效率提升

Eclipse中的JavaScript编辑器[关闭]