最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

JS对象属性相关(检查属性、枚举属性等)_javascript技巧

来源:懂视网 责编:小采 时间:2020-11-27 21:36:35
文档

JS对象属性相关(检查属性、枚举属性等)_javascript技巧

JS对象属性相关(检查属性、枚举属性等)_javascript技巧:1.删除属性 delete运算符可以删除对象的属性 代码如下: delete person.age //即person不再有属性age delete person['age'] //或者这样 delete只是断开属性和宿主对象的联系,而不会去操作属性中的属性 看到delete a.p之后b.x仍然为1
推荐度:
导读JS对象属性相关(检查属性、枚举属性等)_javascript技巧:1.删除属性 delete运算符可以删除对象的属性 代码如下: delete person.age //即person不再有属性age delete person['age'] //或者这样 delete只是断开属性和宿主对象的联系,而不会去操作属性中的属性 看到delete a.p之后b.x仍然为1

1.删除属性

delete运算符可以删除对象的属性

代码如下:
delete person.age //即person不再有属性age
delete person['age'] //或者这样

delete只是断开属性和宿主对象的联系,而不会去操作属性中的属性 看到delete a.p之后b.x仍然为1

delete只能删除自有属性,不能删除继承属性(要删除继承属性必须从定义这个属性的原型对象上删除它,当然,这会影响到所有继承来自这个原型的对象)

当然了,可配置的属性才能用到delete
比如

2.检测属性

使用 “in"

in 运算符希望它的左操作数是一个字符串或者可以转换为字符串,希望它的右操作数是一个对象

使用hasOwnProperty()或者propertyIsEnumerable() --- 后者是前者的增强
顾明思议

只有检测到是自由属性并是可枚举的属性时,后者才返回true

当然,也可以直接用 ”!=="运算符判断

3.枚举属性

拓展1:

每个对象都有与之相关的原型(prototype)、类(class)、可扩展性(extensible)
要检测一个对象是否是另一个对象的原型(或处于原型链中),可以使用isPrototypeOf()方法

当然,isPrototypeOf()方法和instanceof运算符非常类似
instanceof运算符希望它的左操作数是一个对象,右操作数标识对象的类。如果左侧的对象是右侧类的实例,则表达式返回true,否则返回false

拓展2:

对象的类属性是一个字符串,用以表示对象的类型信息

一般调用toString()方法后返回形如 [object class]的形式

比如

代码如下:
var obj = {x:1,y:2};
console.log(obj.toString());//[object Object]

所以要想获取对象的类,就可以通过返回的字符串中找出 “class"字段 使用 slice(8,-1)
比如

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

JS对象属性相关(检查属性、枚举属性等)_javascript技巧

JS对象属性相关(检查属性、枚举属性等)_javascript技巧:1.删除属性 delete运算符可以删除对象的属性 代码如下: delete person.age //即person不再有属性age delete person['age'] //或者这样 delete只是断开属性和宿主对象的联系,而不会去操作属性中的属性 看到delete a.p之后b.x仍然为1
推荐度:
标签: 技巧 js 相关
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top