`

创建javascript对象的两种语法

阅读更多

创建javascript对象的两种语法

a.  new方法,这种方法对学习过OO语言的人来说太常见了。

不过,用这种方法创建对象的前提是,对象所属的类已经存在,比如:

function ClassA(){}

var objA = new ClassA();//如果之前没有定义ClassA类,则这句就要报错了。

b.  : 冒号法,这种方法比较特殊,因为javascript的动态性,我们可以通过这种方法动态地创建一个对象。(奇怪的是,有几个专门讲js的书里面竟然没有说到这种方法,可能因为它太怪异了吧)。举例如下:

var objB = {username:"me",password:"psw"}.

这句在解释运行时动态地筹建一个拥有username和password属性的objB对象。接下我们就可以通过,objB来引用username和password了:

var name = objB.username;

在这种方式中,我们还可以“命名属性”的方式来筹建对象,如:

var objC = {"prop1":"value1","prop2":"value2"};

这里动态创建一个拥有两个属性的js对象objC,该对象拥有两个属性,属性的名称分别叫prop1和prop2(请注意,她们是两个字符串)。在这个时候

我们就想是不是也通过 . 号来引用里面属性了,比如objC."prop1",这种方式?运行发现错误。

那么该怎么办呢?

通过,[] 运算符,如 :var pop = objC["prop1"]可以引用到objC对象里面的 value1。或者用var pop = objC.prop(注意,没有prop没有加引号)来引用。

或许有人会问说,这是我们知道属性命名的时候,我可以这样子做,那要是人家给我传一个对象我不知道名字那该怎么办呢?

别急...javascript里面不是有in运算符吗,in就是用来遍历js对象的属性的,所以可以这样做:

for(prop in objC)

{

 alert("propname:"+prop+"value is:"+objC[prop])

}

最后,请一定记住这话,js是动态的...

分享到:
评论

相关推荐

    html5入门到精通 视频教程

    JavaScript基础语法28_两种数据类型的内存对比 JavaScript基础语法29_数组的创建及使用 JavaScript基础语法30_数组常用方法 JavaScript基础语法31_数组的排序 JavaScript基础语法32_时间和日期 JavaScript基础语法33...

    javascript完全学习手册1 源码

    两种方式 168 7.3.2 RegExp对象的属性 170 7.3.3 RegExp对象的方法 173 7.4 String对象中与正则表达式 有关的方法 177 第8章 高级DOM技术 182 8.1 CSS样式 182 8.1.1 CSS语法 182 8.1.2 CSS属性 187 8.2 样式控制 ...

    javascript完全学习手册2 源码

    7.3.1 创建RegExp对象实例的两种方式 7.3.2 RegExp对象的属性 7.3.3 RegExp对象的方法 7.4 String对象中与正则表达式有关的方法 第8章 高级DoM技术 8.1 CSS样式 8.1.1 CSS语法 8.1.2 CSS属性 8.2 样式...

    JavaScript程序设计课件:自定义对象.pptx

    在 JavaScript 中,我们可以使用两种方式来访问对象成员:确定的成员名访问语法和不确定的成员名访问语法。 确定的成员名访问语法: ```javascript var obj = { name: ' 张三 '}; console.log(obj.name); // 访问 ...

    Javascript中级语法快速入手

    Javascript是一种弱语言类型的语言,不必像Java、C#等高级语言那样必须通过构造函数的方法来创建对象,在Javascript中,主要有两种创建对象的方法,一种是直接通过new关键字定义,一种是通过函数来定义。如下: /...

    Javascript笔记(20220104203210).pdf

    Javascript 的基本语法包括变量声明、数据类型、运算符、控制结构、函数、数组、对象等。变量声明使用 let、const、var 关键字,数据类型包括数字、字符串、布尔值、数组、对象等。运算符包括算术运算符、比较运算符...

    Javascript期末考试及答案[文].pdf

    * JavaScript 的注释可以使用 // 或者 /* */ 两种形式。 二、数据类型 * JavaScript 的数据类型包括数字、字符串、布尔值、数组、对象、Null 和 Undefined 等。 * 数字可以是整数或浮点数,可以使用十六进制或八...

    实验6-JavaScript基础1

    JavaScript 基础知识点总结 JavaScript 是一种高级的、动态的、基于原型的编程语言,它主要用于...本文总结了 JavaScript 的基础知识点,包括语法基础、数据类型、操作符、控制结构、函数、对象、事件和网络协议等。

    javascript学习笔记.docx

    f) 继承:只是在查询一个属性时自动发生,而不会在写属性时发生,就是说单写一个父类的属性时,JavaScript环境会为对象本身创建一个同名的属性,从此该属性就覆盖了父类中的属性。 12) 创建一个数组可用 new Array()...

    前端学习笔记-黑马程序员JS

    本资源主要介绍了 JavaScript 的基本概念和语法,包括变量、数据类型、运算符、流程控制、数组、函数、对象、内置对象等知识点。 变量 在 JavaScript 中,变量可以在三种位置书写:全局变量、函数变量和块变量。...

    详解JavaScript正则表达式之RegExp对象

    一、RegExp对象概述  RegExp对象表示正则表达式,RegExp是正则表达式的缩写,它是对字符串执行模式...创建正则表达式和创建字符串类似,创建正则表达式有两种方式:  (1)使用字面量创建RegExp对象的语法:  /patter

    JavaScript 60道面试题及答案.docx

    sessionStorage 和 localStorage 是两种客户端存储机制,它们的共同点是: * 都是保存在浏览器端 * 都是同源的 但是,它们之间也存在一些区别: * cookie 在浏览器和服务器间来回传递,而 sessionStorage 和 ...

    JavaScript笔记

    15.JavaScript中的所有事物都是对象,分为三类: |--简单对象:String、Number、Boolean |--组合对象:Array、Math、Date |--复杂对象:Function、Regex、Object等 16.Array排序: |--升序:function compare(a...

    javascript函数的解释

    68.JS中分为两种窗体输出:模态和非模态.window.showModaldialog(),window.showModeless() 69.状态栏文字的设置:window.status='文字',默认的状态栏文字设置:window.defaultStatus = '文字.'; 70.添加到收藏夹:...

    JSP程序设计教程(第2章) JSP开发基础.ppt

    类是用来创建对象的模板,它包含被创建的对象的状态描述和方法的定义。要学习 Java 编程就必须学会怎样去编写类,即怎样用 Java 的语法去描述一类事物共有的属性和行为。 类体 类体主要由两部分构成,一部分是成员...

    JavaScript_ES6_Advanced:JavaScript_thoery

    面向对象编程功能编程异步JavaScript 模组错误处理捕获,冒泡,事件委派JavaScript中的数据结构 JavaScript引擎JavaScript引擎是一种计算机程序,提供了可告诉计算机如何运行JavaScript代码。 引擎内部发生的事情取...

    JavaScript之引用类型介绍

    创建Object实例的方式有两种,第一种是使用new操作符后跟Object构造函数。 代码如下: var person = new Object(); person.name = “tt”; person.age = 12; 另一种方式是使用对象字面量表示法。 代码如下: var ...

    前端大厂最新面试题-2019小米前端社招面经.docx

    深拷贝和浅拷贝是两种不同的拷贝方式: 1. 浅拷贝:浅拷贝只复制对象的引用,而不复制对象的内容,例如`let obj2 = Object.assign({}, obj1);` 2. 深拷贝:深拷贝复制对象的内容,而不只是引用,例如`let obj2 = ...

    深入JavaScript高级程序设计之对象、数组(栈方法,队列方法,重排序方法,迭代方法)

    许多OO语言都支持两种继承方式:接口继承和实现继承。 接口继承只继承方法签名,而实现继承则继承实际的方法。 如其所述,由于函数没有签名,在ECMAScript中无法实现接口继承。 ECMAScript只支持实现继承,而且其...

    Html5通信录的设计与实现

    ...在本实验中,我们将使用 IndexedDB...实验的目的是让学生了解 IndexedDB 和 Web SQL 两种技术的使用方法,并掌握数据库的设计和实现。通过本实验,学生将了解如何使用 Html5 技术构建一个本地数据库的通信录应用程序。

Global site tag (gtag.js) - Google Analytics