您的位置:首页 > Web前端 > JavaScript

js对象创建的方式及其优势和不足5

2014-11-13 23:14 260 查看
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"

   "http://www.w3.org/TR/html4/strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" lang="en">

<head>

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

    <title>js对象的创建5 基于原型的方式</title>

    <meta name="author" content="ASUS" />

    <!-- Date: 2014-11-13 -->

    <script type="text/javascript">

    

    /*

     *基于原型的创建方式可以有效的完成封装,但是依然有缺陷

     * 1 无法通过构造函数来设置属性的值

     * 2 当属性中有引用类型的变量时,可能存在变量值重复

     */

          function Person(){

          

      }

      Person.prototype = {

          name:"gui",

          age:22,

          friends:["aa","bb"],

          sayHello:function(){

              alert(this.name+","+this.age+"["+this.friends+"]");

          }

      }

      var p1 = new Person();

      p1.name="newgui";

       var p2 = new Person();

       //alert(p1.sayHello==p2.sayHello);//true

       //会在p1的原型中找到friends并为它添加cc

       p1.friends.push("cc");

       p1.sayHello(); //[aa,bb,cc]

       //此时 原型中就增加了cc 这就是原型带来的第二个问题

        p2.sayHello();//[aa,bb,cc]

    </script>

</head>

<body>

</body>

</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  javascript js