zoukankan      html  css  js  c++  java
  • object

     1 <script>
     2 //创建object实例的方式
     3 
     4 //1.使用new操作符后跟object构造函数
     5 var person= new Object()
     6 person.name= 'nicholas'
     7 person.age= 29
     8 console.log(person)
     9 
    10 //2.使用对象字面量表示法(对象字面量是对象定义的一种简写形式,简化创建包含大量属性的对象的过程)
    11 var person= {
    12   name: 'nicholas',
    13   age: 29
    14 }
    15 console.log(person)
    16 
    17 
    18 //对象字面量中,属性名也可以使用字符串
    19 var person= {
    20   'name': 'nicholas',
    21   'age': 29
    22 }
    23 console.log(person)
    24 
    25 
    26 //对象字面量留花括号,定义只包含默认属性和方法的对象
    27 var person= {} //与new Object()相同
    28 person.name= 'nicholas'
    29 person.age= 29
    30 console.log(person)
    31 
    32 
    33 //对象字面量是向函数传递大量可选参数的首选方式
    34 function dispalyInfo(args){
    35   var output=""
    36   if (typeof args.name=="string") {
    37     output+="Nname:"+args.name
    38   }
    39   if (typeof args.age=="number") {
    40     output+="Age:"+args.age
    41   }
    42   console.log(output)
    43 }
    44 dispalyInfo({name: 'ni', age: 29})
    45 dispalyInfo({name: 'greg'})
    46 
    47 
    48 //访问对象属性
    49 //1.点
    50 console.log(person.name)
    51 //2.花括号:将要访问的属性以字符串的形式放在方括号中(优点是可以通过变量来访问属性)
    52 console.log(person['name'])
    53 
    54 var propertyName= 'name'
    55 console.log(person[propertyName])
    56 </script>

     上面是看的书

    下面是看的廖雪峰的网站

     1 //对象
     2     //对象是一种无序的集合数据类型,它由若干键值对组成
     3 
     4     /*
     5         访问属性是通过.操作符完成的,但这要求属性名必须是一个有效的变量名。如果属性名包含特殊字符,就必须用''括起来,访问这个属性也无法使用.操作符,必须用['xxx']来访问
     6     */
     7     var obj = {
     8         name : '小明',
     9         'middle-school' : 'kangkang'
    10     }
    11     console.log(obj.name)
    12     console.log(obj['middle-school'])
    13 
    14     //如果访问一个不存在的属性不会报错,而是返回undefined
    15     console.log(obj.age)//undefined
    16 
    17     /*
    18         JavaScript的对象是动态类型,可以自由地给一个对象添加或删除属性
    19     */
    20     obj.phone = 13456567788
    21     console.log(obj)// {name: "小明", middle-school: "kangkang", phone: 13456567788}
    22 
    23     /*
    24         in操作符
    25             检测对象是否拥有某一属性
    26             注:in判断一个属性是否存在,这个属性不一定是当前对象的,它可能是当前对象继承得到的
    27         hasOwnProperty()
    28             判断一个属性是否是对象自身拥有的还是继承得到的
    29     */
    30     console.log('name' in obj) //true
    31     console.log('age' in obj) //false
    32     console.log(obj.hasOwnProperty('name'))
    33     console.log(obj.hasOwnProperty('toString'))
  • 相关阅读:
    文件操作小练习
    阶段练习1
    copy小练习
    小练习
    str 小列题
    条款50:使用自定义的new以及delete的时机会
    条款49:了解new-handle行为
    简单的说一下:tarits技法就是一种模板元编程,起可以将本来处于运行期的事拉到编译期来做,增加了运行效率。 看以非模板元编程的例子,就是前面的那个例子:
    条款47:请使用traits class表示类型信息
    条款46:需要类型转换的时候请为模板定义非成员函数
  • 原文地址:https://www.cnblogs.com/tiantian9542/p/6398466.html
Copyright © 2011-2022 走看看