广东湘恒智能科技有限公司
主营产品: 西门子PLC代理商,plc变频器,伺服电机,人机界面,触摸屏,线缆,DP接头
SIEMENS西门子广东省河源市(授权)电机一级代理商——西门子华南总代理

JS对象的属性JS对象的介绍

JavaScript 的设计是一个简单的基于对象的范式。一个对象就是一系列属性的集合,一个属性包含一个名和一个值。一个属性的值可以是函数,这种情况下属性也被称为方法。除了浏览器里面预定义的那些对象之外,你也可以定义你自己的对象。

对象和属性

一个 javascript 对象有很多属性。一个对象的属性可以被解释成一个附加到对象上的变量。对象的属性和普通的 javascript 变量基本没什么区别,仅仅是属性属于某个对象。属性定义了对象的特征。


属性的获取和赋值1.点运算符objectName.propertyName

和其他 javascript 变量一样,对象的名字(可以是普通的变量)和属性的名字都是大小写敏感的。

你可以在定义一个属性的时候就给它赋值。

var myCar = new Object();
myCar.make = "Ford";
myCar.model = "Mustang";
myCar.year = 1969;

对象中未赋值的属性的值为undefined(而不是null)。

myCar.noProperty; // undefined2.方括号访问

JavaScript 对象的属性也可以通过方括号访问或者设置。对象有时也被叫作关联数组, 因为每个属性都有一个用于访问它的字符串值。

myCar["make"] = "Ford";
myCar["model"] = "Mustang";
myCar["year"] = 1969;

一个对象的属性名可以是任何有效的 JavaScript 字符串,或者可以被转换为字符串的任何类型,包括空字符串。然而,一个属性的名称如果不是一个有效的 JavaScript 标识符(例如,一个由空格或连字符,或者以数字开头的属性名),就只能通过方括号标记访问。

// 同时创建四个变量,用逗号分隔
var myObj = new Object(),
  str = "myString",
  rand = Math.random(),
  obj = new Object();

myObj.type             = "Dot syntax";
myObj["date created"]   = "String with space";
myObj[str]             = "String value";//这里JS会调用.toString来转化成字符串
myObj[rand]             = "Random Number";
myObj[obj]             = "Object";
myObj[""]               = "Even an empty string";

console.log(myObj);

请注意,方括号中的所有键都将转换为字符串类型,因为JavaScript中的对象只能使用String类型作为键类型。 例如,在上面的代码中,当将键obj添加到myObj时,JavaScript将调用obj.toString()方法,并将此结果字符串用作新键。


你也可以通过存储在变量中的字符串来访问属性

var propertyName = "make";
myCar[propertyName] = "Ford";

propertyName = "model";
myCar[propertyName] = "Mustang";枚举所有属性

从 ECMAScript 5 开始,有三种原生的方法用于列出或枚举对象的属性:

for...in 循环该方法依次访问一个对象及其原型链中所有可枚举的属性。

你可以在  for...in 语句中使用方括号标记以枚举一个对象的所有属性。为了展示它如何工作,下面的函数当你将对象及其名称作为参数传入时,显示对象的属性:

function showProps(obj, objName) {
 var result = "";
 for (var i in obj) {
   if (obj.hasOwnProperty(i)) {
       result += objName + "." + i + " = " + obj[i] + "\n";
  }
}
 return result;
}

因而,对于函数调用 showProps(myCar, "myCar") 将返回以下值:

myCar.make = Ford
myCar.model = Mustang
myCar.year = 1969

Object.keys(o)该方法返回一个对象 o 自身包含(不包括原型中)的所有属性的名称的数组。

Object.getOwnPropertyNames(o)该方法返回一个数组,它包含了对象 o 所有拥有的属性(无论是否可枚举)的名称。



展开全文
相关产品
拨打电话 微信咨询 发送询价