JavaScript学习笔记(四)——对象【分分快三计划

作者:分分快三计划

大器晚成经属性名富含特殊字符,就非得用 ‘ ’ 括起来:

var xiaoming = {
    name: '小明'
};
xiaoming.age; // undefined
var xiaoming = {
    name: '小明'
};
xiaoming.hasOwnProperty('name'); // true
xiaoming.hasOwnProperty('toString'); // false

JavaScript用三个{...}表示三个对象,键值对以xxx: xxx方式申明,用,隔开分离。注意,最后叁个键值对无需在末尾加,,假使加了,有的浏览器(如低版本的IE卡塔尔国将报错。

'toString' in xiaoming; // true
var xiaohong = {
    name: '小红',
    'middle-school': 'No.1 Middle School'
};

鉴于JavaScript的靶子是动态类型的,可以任意地给一个目的增加或删除属性:

要看清一个属性是还是不是是xiaoming本身统筹的,并不是后续拿到的,能够用hasOwnProperty()方法:

此间必要专一,假诺in判定贰本品质存在,这么些本性不自然是xiaoming的,它恐怕是xiaoming继承拿到的:


var xiaoming = {
    name: '小明',
    birth: 1990,
    school: 'No.1 Middle School',
    height: 1.70,
    weight: 65,
    score: null
};
'name' in xiaoming; // true
'grade' in xiaoming; // false

xiaohong的属性名middle-school不是多少个使得的变量,就必要用''括起来。访谈这脾个性也无力回精灵用.操作符,必须用['xxx']来访问:

风流罗曼蒂克经大家有需求,款待访谈前辈的博客https://www.liaoxuefeng.com/学习。

var xiaoming = {
    name: '小明',
    birth: 1990,
    school: 'No.1 Middle School',
    height: 1.70,
    weight: 65,
    score: null
};

 

倘使大家要检验xiaoming是还是不是具备某黄金时代性质,能够用in操作符:

实际JavaScript对象的兼具属性都以字符串,可是属性对应的值可以是随意数据类型。

借使访谈叁个子虚乌有的质量会重回什么呢?JavaScript规定,访谈不设有的性质不报错,而是重临undefined

var xiaohong = {
    name: '小红',
    'middle-school': 'No.1 Middle School'
};

JavaScript的目的用于描述现实世界中的有些对象。比如,为了描述“小明”那么些顽皮的毛孩(Xu卡塔尔子,大家能够用多少键值对来说述她:

大家在编辑JavaScript代码的时候,属性名尽量使用标准的变量名,这样就足以一向通过object.prop的样式拜望两特性质了。

是因为JavaScript的靶子是动态类型,你能够任性地给二个对象加多或删除属性:

只要我们要检查测量检验xiaoming是否有所某黄金年代属性,能够用in操作符:

因为toString定义在object对象中,而具备目的最后都会在原型链上指向object,所以xiaoming也富有toString属性。


var xiaoming = {
    name: '小明'
};
xiaoming.age; // undefined
xiaoming.age = 18; // 新增一个age属性
xiaoming.age; // 18
delete xiaoming.age; // 删除age属性
xiaoming.age; // undefined
delete xiaoming['name']; // 删除name属性
xiaoming.name; // undefined
delete xiaoming.school; // 删除一个不存在的school属性也不会报错

举个例子,大家描述一位:

var xiaoming = {
    name: '小明'
};
xiaoming.hasOwnProperty('name'); // true
xiaoming.hasOwnProperty('toString'); // false

要看清叁本性质是还是不是是xiaoming本身持有的,并非继续拿到的,能够用hasOwnProperty()方法:

但是要小心,借使in剖断二个属性存在,那几个个性不确定是xiaoming的,它恐怕是xiaoming世袭获得的:

专心,最终一个键值对不必要在末尾加,,如若加了,有的浏览器(如低版本的IE卡塔 尔(英语:State of Qatar)将报错。

做客属性是经过.操作符达成的,但那供给属性名必须是一个管用的变量名。假设属性名包括特殊字符,就务须用''括起来:

要是访谈三个空头支票的质量JavaScrip不会报错,而是回到undefined

'toString' in xiaoming; // true

因为xiaohong的质量名middle-school不是贰个可行的变量名,就需求用 ‘ ’ 括起来,访谈那特特性也心有余而力不足用 . 操作符,必得利用['xxx']来访问:

JavaScript的靶子是风流罗曼蒂克种严节的集聚数据类型,它由若干键值对构成。

var xiaoming = {
    name: '小明',
    birth: 1990,
    school: 'No.1 Middle School',
    height: 1.70,
    weight: 65,
    score: null
};
var xiaoming = {
    name: '小明',
    birth: 1990,
    school: 'No.1 Middle School',
    height: 1.70,
    weight: 65,
    score: null
};
'name' in xiaoming; // true
'grade' in xiaoming; // false

因为toString定义在object对象中,而全体目的最后都会在原型链上指向object,所以xiaoming也拥有toString属性。

xiaohong['middle-school']; // 'No.1 Middle School'
xiaohong['name']; // '小红'
xiaohong.name; // '小红'

在就学廖雪峰前辈的JavaScript教程中,遭受了一些须求注意的点,因而作为读书笔记列出来,提示本人小心!

var xiaoming = {
    name: '小明'
};
xiaoming.age; // undefined
xiaoming.age = 18; // 新增一个age属性
xiaoming.age; // 18
delete xiaoming.age; // 删除age属性
xiaoming.age; // undefined
delete xiaoming['name']; // 删除name属性
xiaoming.name; // undefined
delete xiaoming.school; // 删除一个不存在的school属性也不会报

 JavaScript的靶子是风流罗曼蒂克种冬日的联谊数据类型,它是由若干个键值对组合。

xiaohong['middle-school']; // 'No.1 Middle School'
xiaohong['name']; // '小红'
xiaohong.name; // '小红'

本文由分分快三计划发布,转载请注明来源

关键词: 分分快三计划 JavaScript