JS 原型,检索,更新,引用等

 1     <script type="text/javascript">
 2     var myObject=maker({
 3         first:f,
 4         last:1 5         state:s,
 6         city:c
 7     });
 8     ////////////////////////////////////////
 9     Object.beget=function(o){
10         var F=function(o){};
11         F.prototype =o;
12         return new F;
13     }
14     var myMammal={
15         name:'Herb the Mammal',
16         get_name:function  (){
17             return this.name;
18         }
19         says:function(){
20             return this.saying||'';
21         }
22     };
23     var Cat={
24             name:'',
25             saying:'meow'
26         };
27     var myCat=Object.beget(Cat);
28     myCat.name='mimi';
29 
30     var myCat=Object.beget(myMammal);
31      /*引用*/
32      var x=stooge;
33      x.nickname='Curly';
34      var nick=stooge.nickname;
35      //对象永远不会被拷贝,因为它是引用类型的。
36      var a={},b={},c={};
37      //a,b,c 每个都有一个不同的控对象。
38      a=b=c={};
39      //a,b,c都引同一个控对象。
40 
41      /*更新*/
42      stooge['first-name']='Jerome';
43      //如果对象之前并没有拥有那个属性名,那么该属性就被扩充到该对象中
44      stooge['middle-name']='Lester';
45      stooge.nickname='Curly';
46      flight.equipment={
47          model:'Boeing 777'
48      };
49      flight.status='overdue';
50      /*检索*/
51      要检索的对象中包含的值,可以采用在[]后缀中括注一个字符串的方式,
52      还可以通过.表示法。
53      如果属性名是一个常量,而不是变量的话,优先使用.表示法,因其可读性更好
54      stooge["first-name"]    //"Joe"
55      flight.departure.IATA     //"SYD"
56      stooge["middle-name"]     //underfined
57      flight.states            //underfined
58      stooge["first-name"]    //underfined
59       
60      ||运算符可以填充默认值:
61      var middle=stooge["middle-name"]||"(none)";
62      var states=flight.states||"unknown";
63 
64      &&运算符可以用来避免错误
65      flight.equipment        //underfined
66      flight.equipment.model //underfined
67      flight.equipment && flight.equipment.model     //underfined
68    </script>
原文地址:https://www.cnblogs.com/lvyongbo/p/4686392.html