js创建object实例的方式有两种(new操作符和对象字面量)

读javascript高级程序设计(第三版)有感:

创建object实例有两种方式,第一种用new操作符后跟object构造函数,如下所示:

var bb= new Object();
      bb.name = "zoumm";
      bb.job = "web开发";

第二种是使用对象字面量表示法,目的在于简化创建大量属性的对象过程。如下所示:

var bb = {

name:"zoumm",

age:12

}

最后一个属性后面添加逗号,会在ie7及更早版本中国导致错误。

在使用对象字面量时,属性名也可以使用字符串,如下所示:

var bb = {

    "name":"zoumm",

    "age:‘12,    10:"true"

}//这里的数值属性名会自动装换成字符串

对于对象字面量,推荐在只考虑对象属性名的可读性时使用。对象字面量也是向函数传递大量可选参数的首选方式,例如:

  function aa(args){
          if(typeof args.name=="string" ){
                  console.log(args.name);
             }
          if(typeof args.age=="number" ){
              console.log(args.age);
          }

      }
      aa({
          name:"zoumm",
          age:12
      })
      aa({
          name:"dj"
      })
时间: 2024-10-10 16:09:28

js创建object实例的方式有两种(new操作符和对象字面量)的相关文章

Spring IOC 创建bean实例的方式

据我所知,创建bean实例的方式有4种方式~ 下面我会一一写出来这4种方式~ 第一种:xml文件中有bean的配置,而且这个bean所对应的java类中存在一个无参构造器,那么这个时候spring容器就可以使用反射调用无参构造器来创建实例了~ 代码如下: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/be

【转】android创建Popwindow弹出菜单的两种方式

方法一的Activity [java] view plaincopy package com.app.test02; import android.app.Activity; import android.os.Bundle; import android.view.Gravity; import android.view.MotionEvent; import android.view.View; import android.view.View.OnClickListener; import

创建 Spring Boot 项目常用的两种方式

在开发中,常用的创建的 Spring Boot 项目方式有两种,一种是使用 Spring Initializr , 一种是创建一个 Maven 工程,导入 Spring Boot 的依赖 使用 IDEA 的 Spring Initializr 的方式 选择 IDEA 的 File -> New -> Project 选择 Spring Initializr ,如下图: 在 Project Metadata 页面,输入 Group, Artifact ,Version, Name, Descri

MySQL单实例重置密码的两种方法

MySQL单实例重置密码的两种方法 在工作学习中,我们有时会忘记数据库的密码,下面是MySQL单实例密码重置的步骤. 说明: (1)[[email protected] ~]# cat /etc/redhat-release CentOS release 6.7 (Final) (2)[[email protected] ~]# mysql --version mysql  Ver 14.14 Distrib 5.7.13, for Linux (i686) using  EditLine wr

为什么Java中实现多线程的方式有两种?

在面试的过程中,我们经常问被面试者,为什么Java中实现多线程的方式有两种(一种是直接继承Thread类,一种是实现Runnable接口)?可惜的是,很多面试者都答不出来,甚至从来没有想为什么.,那么真正的原因是什么呢?我们可以用反证法推理一下: 假设Java只提供Thread供大家继承从而实现多线程,考虑下面的一个需求,如果有一个已经继承了某个父类的类,但是这个类又想实现多线程,怎么办?很显然,如果只提供一个可以继承的类,肯定解决不了这个问题.那么,如何解决,毫无疑问,就只能使用接口了.

js对象字面量属性间相互访问的问题 和 这个问题与执行环境的关系

对象字面量属性间无法相互访问的问题: 我曾经在定义一个对象时, 并出于复用性的考虑试图复用某些属性: // test 1 var person = { firstName : "Bill", lastName : "Gates", fullName : firstName + " " + lastName // 这里报错 } alert(person.firstName); alert(person.lastName); alert(person

js对象字面量

js对象字面量 对象字面量的输出方式以及定义好处 1.对象字面量的输出方式有两种:传统的‘.’,以及数组方式,只不过用数组方式输出时,方括号里面要用引号括起来,如 var box = { name:’abc’; age:28 }; alert(box[‘name’]); 给对象定义方法, A:如果用传统定义对象的方式,就需要先定义方法,然后再把这个方法名赋值给对象的一个属性,如果要调用这个方法不加括号,就是返回方法代码:如果要调用这个方法该对象属性后面加上括号,就得到方法的返回值 functio

JavaScript中两种类型的全局对象/函数(转)

转自:http://www.cnblogs.com/snandy/archive/2011/03/19/1988626.html 这里所说的JavaScript指浏览器环境中的包括宿主环境在内的.第一种是ECMAScript Global Object,第二种是宿主环境(Host)下的全局对象/函数. 一.核心JavaScript内置对象,即ECMAScript实现提供的不依赖于宿主环境的对象 这些对象在程序执行之前就已经(实例化)存在了.ECMAScript称为The Global Objec

js学习日记-对象字面量

对象字面量语法 var person={ name:'小王', age:18, _pri:233 } 1.采用对象字面量方法创建的对象,不能采用var wang=new person()这样的方式来调用,要访问对象中的方法,直接使用person.xxx的形式 2.最后一个成员结尾不要用逗号,不然在某些浏览器中会抛出错误 对象成员配置 对象申明后,会默认为内部的每个成员(属性或方法)生成一些隐藏属性,这些隐藏属性是可以读取和可配置的: Object.getOwnPropertyDescriptor