// var one = {"id":1, "leasetime":2, "ney":0,"myhuifangshi":0} // var fe=0; //
顺晟科技
2021-06-16 10:58:03
164
对象是属性的无序集合,每个属性都有自己的名称和值,每个属性都存储一个原始值、对象或函数。
javascript的原始类型包括数字、字符串、布尔值、null和未定义。所有其他值都是对象。在javascript中,数组、函数和正则表达式都是对象。
# # # 1.1新运算符后面是对象构造函数
var person=new object();
### 1.2对象文字表示
var empty={ };var person={ ' first-name ' : ' Nicholas ',' last-name':'Zakas ',' age ' :29 };var flight={ airline: 'MU ',number: 2769,departature : { IATA : ' NKG ',time: '2011-06-30 07:45 ',city 3360 '南京' },arrival: { IATA: ' XIY ',time : ' 2011-06-30 093:45,} 33:45
检索方式,。表示
person[' first-name ']//Nicholasflight . number//2769 person[' job ']//undefinedflight . status//undefined
用| |运算符填写默认值
var job=person[' job ']| | ' none ';var status=flight . status | |“unknown”;
试图检索未定义的值将导致异常
flight . equipment//undefinedflight . equipment . model//throw ' type error ' flight . equipment flight . equipment . model//undefined
该属性存在于对象中,属性值将被替换
人['年龄']=32;
如果对象没有属性名,属性名将被添加到对象中
人.工作='软件工程师';
删除属性
删除个人。年龄
删除属性不仅会将属性值设置为未定义,而且实际上会从对象中删除该属性。
对象是通过引用传递的,从不复制。
var x=人;x.job='软件工程师';var job=person.job//x和person指的是同一个对象,job是'软件工程师' var a={},b={},c={ };//a b c指不同的空对象var a=b=c={ };//a、B、C引用同一个空对象
运算符的类型决定属性的类型
航班类型。航班号//“航班号”航班号。状态//“字符串”航班号。到达//“对象”航班号。清单/“未定义”
原型链中的任何属性也会产生一个值
type of flight . ToString//function type of flight . constructor/' function '
另一个方法,hasOwnProperty方法
flight . hasown property(' number ')//true flight . hasown property(构造函数)//false
for in语句遍历对象中的所有属性名。HasOwnProperty和排除函数的类型、原型链中的属性以及不需要的值。
var名称;for(person name){ if(type of person[name]!==' function '){ console . log(name ' : ' person[name]);}}
上述属性名称的出现顺序不确定。如果您想以特定的顺序出现,可以使用数组:
var I;var properties=[ 'last-name ',' first-name ',' age '];var len=properties.lengthfor(I=0;i lenI){ console . log(properties[I]' : ' person[properties[I]]);}
添加
Object .原形. bar=1;var person={ ' name ' : ' bingdian ',' age ' : ' 25 ' } for(I person){ console . log(I ' : ' person[I]);}//name : bindian//age :25//bar :1
像in操作符一样,for in循环在寻找对象的属性时也遍历原型链上的所有属性。
因为不可能改变for本身的行为,所以需要过滤掉不想出现在循环体中的属性,这可以通过Object.prototype的原型上的hasOwnProperty函数来完成
Object .原形. bar=1;var person={ ' name ' : ' bingdian ',' age ' : ' 25 ' } for(I person){ if(person . HasownProperty(I)){ console . log(I ' : ' person[I]);} }//name : bindian//age :25
始终建议使用HasOwnProperty。不要对代码运行的环境做任何假设,也不要假设本机对象是否已经扩展。
删除person . ageperson . age//undefined
在javascript中,每个对象都有一个构造函数属性,它指的是初始化对象的构造函数。
person . tostring();person . value of();person . hasown property(' age ');
//如果isPrototypeOf()所属的对象是参数的原型对象,则返回true
var o={ };控制台。log(对象。原型。is rototypeof(o));//true o . constructor==object console。log(对象。is rototypeof(o));//false控制台。log(o . isprototypeof(object。原型));//false控制台。log(函数。原型。是对象的协议类型);//true object。构造函数==函数
var APP={ };app。person={ ' first-name ' : ' Nicholas ',' last-name':'Zakas ',' age ' :29 };APP.flight={ airline: 'MU ',number: 2769,departature : { IATA : ' NKG ',time: '2011-06-30 07:45 ',city 3360 '南京},arrival: { IATA: ' XIY ',时间: ' 2011-06-30 093:45,
15
2022-09
15
2022-09
15
2022-09
15
2022-09
15
2022-09
15
2022-09