对象,对象属性和方法
发布日期:2021-06-29 11:42:49
浏览次数:2
分类:技术文章
本文共 1808 字,大约阅读时间需要 6 分钟。
JavaScript的对象是一种无序的集合数据类型,它由若干键值对组成。对象也是变量。结尾要使用分号。
语法 var object_name = {key:value, key:value,...};
JavaScript用一个{...}
表示一个对象,键值对以xxx: xxx
形式申明,用,(逗号)
隔开。对象的每一个键名又称为“属性”(property),它的“键值”可以是任何数据类型。如果一个属性的值为函数,通常把这个属性称为“方法”,它可以像函数那样调用。注意,最后一个键值对不需要在末尾加,(逗号)
,如果加了,有的浏览器(如低版本的IE)将报错。
var person = {firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue"};// 空格和折行都是允许的。对象定义可横跨多行:var xiaoming = { name: '小明', birth: 1990, 'middle-school': 'No.1 Middle School', height: 1.70, weight: 65, score: null, p: function (x) { return 2 * x; }};
访问对象属性:
objectName.propertyName 或者 objectName["propertyName"]
属性名middle-school
不是一个有效的变量,就需要用''
括起来。访问这个属性也无法使用.
操作符,必须用['xxx']
来访问。在编写JavaScript代码的时候,属性名尽量使用标准的变量名,这样就可以直接通过object.prop
的形式访问一个属性了。JavaScript规定,访问不存在的属性不报错,而是返回undefined。
添加删除属性:
var xiaoming = { name: '小明'};xiaoming.age; // undefinedxiaoming.age = 18; // 新增一个age属性xiaoming.age; // 18delete xiaoming.age; // 删除age属性xiaoming.age; // undefineddelete xiaoming['name']; // 删除name属性xiaoming.name; // undefineddelete xiaoming.school; // 删除一个不存在的school属性也不会报错
检测是否存在该属性:
var xiaoming = { name: '小明', birth: 1990, school: 'No.1 Middle School', height: 1.70, weight: 65, score: null};//方法一使用in,in判断一个属性存在,这个属性不一定是xiaoming的,它可能是xiaoming继承得到的'name' in xiaoming; // true'grade' in xiaoming; // false'toString' in xiaoming; // true//方法二使用hasOwnProperty(),判断一个属性是否是xiaoming自身拥有的,而不是继承得到的xiaoming.hasOwnProperty('name'); // truexiaoming.hasOwnProperty('toString'); // false
访问对象方法:
objectName.methodName(),如果不使用 () 访问对象方法,则将返回函数定义
请不要把字符串、数值和布尔值声明为对象!请避免字符串、数值或逻辑对象。他们会增加代码的复杂性并降低执行速度。
如果通过关键词 "new" 来声明 JavaScript 变量,则该变量会被创建为对象:
var x = new String(); // 把 x 声明为 String 对象var y = new Number(); // 把 y 声明为 Number 对象var z = new Boolean(); // 把 z 声明为 Boolean 对象
转载地址:https://blog.csdn.net/zz2230633069/article/details/108216646 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
第一次来,支持一个
[***.219.124.196]2024年04月30日 23时05分53秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
鸿蒙2.0都来了,快搭个环境玩起来吧!
2019-04-29
PCB散热的10种方法!
2019-04-29
值得收藏!268条PCB layout设计规范
2019-04-29
Keil升级了,Keil Studio 来了!
2019-04-29
关于RS-485总线,这篇很详细
2019-04-29
关于2021年电赛的一些想法,看到就是赚到!
2019-04-29
教你一秒分辨真假芯片!
2019-04-29
抽奖 | 送STM32开发板
2019-04-29
光立方,永远的神!
2019-04-29
学习STM32很简单?
2019-04-29
电赛 | 电源题软件如何准备?
2019-04-29
手把手教你DIY一款属于自己的万能红外遥控器!
2019-04-29
速看 | 电子元器件如何确定好坏?
2019-04-29
485通信自动收发电路,历史上最详细的解释
2019-04-29
【视觉盛宴三】不好意思,这些线材接口的横截面真的没见过
2019-04-29
一位头发发白的神人教你怎么写程序,运维,买电脑,写文章,平面设计!
2019-04-29
【第二期】那些设计漂亮、有创意的电路板!
2019-04-29
【第三期】那些设计漂亮、有创意的电路板!
2019-04-29
继续推荐公众号~
2019-04-29
「第二篇」全国一等奖,经验帖。
2019-04-29