zoukankan      html  css  js  c++  java
  • javaScript高级教程(九) ------javascript对象字面量--------困扰已久的问题

      在编程语言中,字面量是一种表示值的记法。例如,"Hello, World!" 在许多语言中都表示一个字符串字面量(string literal ),JavaScript也不例外。

    以下也是JavaScript字面量的例子,如5、true、false和null,它们分别表示一个整数、两个布尔值和一个空对象。JavaScript还支持对象和数组字面量,

    允许使用一种简洁而可读的记法来创建数组和对象。考虑以下语句,其中创建了一个包含两个属性的对象(firstName和lastName):

    var customer = new Object();
    customer.firstName = 'John';
    customer.lastName = 'Doe';

    还可以使用一种等价的方法创建同样的对象:

    var customer = {firstName:'John',lastName:'Doe'};                                

    以上赋值语句的右边是一个对象字面量(object literal)。对象字面量是一个名值对列表,每个名值对之间用逗号分隔,并用一个大括号括起。

    各名值对表示对象的一个属性,名和值这两部分之间用一个冒号分隔。要创建一个数组,可以创建Array对象的一个实例:

    var somePrimes = new Array();
    somePrimes.push(1,2,3,5,7);


    不过首选的方法是使用一个数组字面量(array literal),这是一个用逗号分隔的值列表,用中括号括起:

    var somePrimes = [1,2,3,5,7];

    前面的例子展示了对象和数组字面量中可以包含其他字面量。以下是一个更复杂的示例:

    var team = {
        name:'ling',
        member:[],
        count:function(){return members.length}
    }

    赋给team变量的对象有3个属性:name、members和count。甚至count属性的值也是一个字面量,即函数字面量(function literal):

    函数字面量如下构造:前面是一个function关键字,后面是一个函数名(可选)和参数表。然后是函数体,包围在大括号中。

    2.两种对象创建方法比较:对象字面量与对象

    //只能添加静态属性(不能通过Contructor传入,因为没有Constructor)和方法
       var myObject={
        propertyA: 'sha' ,
        propertyB: 'feng' ,
        methodA:function(){
         console.log(this.propertyA+' '+this.propertyB);
        },
        methodB:function(){}
       }
       
       myObject.methodA();  //直接调用 
       
       
    //声明构造函数,一般首字母大写 function MyConstructor(name){ //通过contructor动态传入参数
        this.name = name;
      };             

    //使用对象字面量语法来向prototype属性中添加所有公有成员 MyConstructor.prototype = { propertyA: 'sha' , propertyB: 'feng' , methodA:function(){ console.log(this.name+' '+this.propertyA+' '+this.propertyB); }, methodB:function(){} } var myconstrustor = new MyConstructor('constructorName'); //必须首先声明对象 myconstrustor.methodA();
  • 相关阅读:
    【JavaScript】explode动画
    【JavaScript】插件参数的写法
    【webpack】理解配置文件
    你真的了解盒模型么
    一看看懂Protocol Buffer(协议篇)
    es7你都懂了吗?今天带你了解es7的神器decorator
    快速了解react
    简单聊一聊那些svg的沿路径运动
    转转RN工程化历程
    微信小程序内嵌网页的一些(最佳)实践
  • 原文地址:https://www.cnblogs.com/yuyutianxia/p/3280249.html
Copyright © 2011-2022 走看看