封装

来源:互联网 发布:淘宝外卖超出配送范围 编辑:程序博客网 时间:2024/06/07 09:56

首先写一个原型的封装

        <script type="text/javascript">            function Person() {}            Person.prototype = {                constructor: Person,                name: "洛洛",                age: 16,                friends: ["丽颖", "菲菲"],                say: function() {                    alert("名字:" + this.name + "\n年龄" + this.age + "\n朋友" + this.friends);                }            };            var baby = new Person();            baby.friends.push("小峰");            alert(baby.friends);        </script>

这样写,我们无法进行传参,并且当我们修改复杂属性类型,如数组,就会导致修改的属性共享。所以我们就将方法定义到原型中,将属性定义到构建函数中,用代码演示

<script type="text/javascript">            //属性在构造方法定义            function Person(name,age,friends) {                this.name = name;                this.age = age;                this.friends = friends;            }            //方法在原型中定义            Person.prototype = {                //因为重建,需要手动添加constructor属性                constructor:Person,                say : function() {                    alert("名字:" + this.name + "\n年龄" + this.age + "\n朋友" + this.friends);                }            };            var baby = new Person("洛洛",16,["丽颖","菲菲"]);            baby.friends.push("小峰");            baby.say();        </script>

这样写就解决的以上的问题。

0 0
原创粉丝点击