首页 > 引用类型(一):Object类型

引用类型(一):Object类型

对象表示方式

 

1、第一种方式:使用new操作符后跟Object构造函数

var person = new Object();
person.name = 'Nicholas';
person.age = 29;


2、对象字面量表示法
var person = {name:'Nicholas',age:29
}

 

*:在age属性的值29的后面不能添加逗号,因为age是这个对象的最后一个属性。在最后一个属性后添加逗号,会在 ie7及更早版本和opera中导致错误。(验证过:opera中也没啥问题),所以这个随自己

 

表示优劣

当需要向函数传入大量可选参数点情形。一般来来讲,命名参数虽然容易处理,但在多个可选参数点情况下就会显示不够灵活。最好的做法是对那些必需值使用命名参数,而使用对象字面量来封装多个可选参数

function displayInfo(args){var output = '';if(typeof args.name == 'string'){output = 'Name: ' + args.name + '
';}if(typeof args.age == 'number'){output = 'Age: ' + args.age + '
';}alert(output);
}displayInfo({name: 'Nicholas',age: 29
});
displayInfo({name:'Greg'
});

 

访问对象方式

访问对象时有两种表示法,点表示法和方括号表示法来访问对象的属性

alert(person['name']); //Nicholas
alert(person.name);    //Nicholas

 

注意:

1、方括号表示法应该将访问的属性以字符串的形式放在方括号中

2、从功能上没有任何区别。但方括号的主要优点就是可以通过变量来访问属性

var propertyName = 'name';
alert(person[propertyName]); //Nicholas

person['first name'] = 'Nicholas';


由于'first name'中包含一个空格,所以不能使用点表示法来访问它。然而,属性名中时可以包含非字母非数字点,这时候就可以使用方括号来访问它们

  通常,除非必要使用变量来访问属性,否则我们建议使用点表示法

转载于:https://www.cnblogs.com/wzndkj/p/8016654.html

更多相关:

  • Node.js 中文网Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。Node.js 的包管理器 npm,是全球最大的开源库生态系统。http://nodejs.cn/先安装nodejs 在自己的网站项目文件夹根目录...

  • 一、使用.Net Core构建WebAPI并访问Docker中的Mysql数据库 这个的过程大概与我之前的文章《尝试.Net Core—使用.Net Core + Entity FrameWork Core构建WebAPI(一)》一致。 但是在我们这里,由于docker中无法部署sql server,所以我采用了Mysql数据库,顺便...

  • 引言 在这个-SLAM建图和导航仿真实例-项目中,主要分为三个部分,分别是 (一)模型构建(二)根据已知地图进行定位和导航(三)使用RTAB-MAP进行建图和导航 该项目的slam_bot已经上传我的Github。 这是第三部分,完成效果如下 图1 建图和导航 三、使用RTAB-Map进行建图和导航 1. rtab...

  • 引言 在这个-SLAM建图和导航仿真实例-项目中,主要分为三个部分,分别是 (一)模型构建(二)根据已知地图进行定位和导航(三)使用RTAB-MAP进行建图和导航 该项目的slam_bot已经上传我的Github。 由于之前的虚拟机性能限制,我在这个项目中使用了新的ubantu 16.04环境,虚拟机配置 内存 8GCPU...

  • [{name:1},{name:2}].forEach((v,i,ar) => {console.log(v,i,ar)});//基础遍历[{name:1},{name:2}].map((v) => v.name);//[1,2]返回对象数组中指定字段值的一位数组(不改变原始数组)[{name:1},{name:2},{name:3}...

  • 体验内容 使用gmapping方法利用turtlebot底盘移动信息和激光雷达数据进行建图。 1. 安装一些依赖包 sudo apt-get install ros-melodic-move-base* sudo apt-get install ros-melodic-map-server* sudo apt-get insta...

  • 前言 我们知道Java/Python这种语言能够很好得 支持反射。反射机制 就是一种用户输入的字符串到对应实现方法的映射,比如http接口中 用户传入了url,我们需要调用该url对应的方法/函数对象 从而做出对应的操作。 而C++ 并没有友好得支持这样的操作,而最近工作中需要通过C++实现http接口,这个过程想要代码实现得优雅...