首页 >> js开发 >> jsJS对象属性的检测与获取操作实例分析js大全
jsJS对象属性的检测与获取操作实例分析js大全
发布时间: 2021年1月13日 | 浏览:
| 分类:js开发
本文实例讲述了JS对象属性的检测与获取操作。分享给大家供大家参考,具体如下:1.1 in运算符1.1 in运算符in运算符用于检查对象是否包含某个属性(注意,检查的是键名,不是键值), 如果包含就返回true,否则返回false
var obj = { p: 1 }
'p' in obj // true
'toString' in obj // true
var obj = { p: 1 }
'p' in obj // true
'toString' in obj // true上面代码中,obj对象上有一个p属性,所以使用in运算符时,得到true,但toString并没有在obj对象上,为什么也返回true呢,这是因为in运算符,不能识别哪些属性是对象自身的,哪些是继承的。因为toString是继承自obj的原型对象,所以会返回true。1.2 for … in 循环1.2 for … in 循环for … in 循环用来遍历一个对象的全部属性。
var obj = {a: 1, b: 2, c: 3};
for (var i in obj) {
console.log(obj[i]);
}
var obj = {a: 1, b: 2, c: 3};
for (var i in obj) {
console.log(obj[i]);
}
for … in 循环有两个使用注意点
它遍历的是对象所有可遍历的属性,会跳过不可遍历的属性。
它不仅遍历对象自身的属性,还遍历继承的属性。
它遍历的是对象所有可遍历的属性,会跳过不可遍历的属性。它不仅遍历对象自身的属性,还遍历继承的属性。如果想得到自身的属性,需要结合hasOwnProperty方法,在循环内部判断一下,某个属性是否为对象自身的属性。
var person = { name: '老张' };
for (var key in person) {
if (person.hasOwnProperty(key)) {
console.log(key);
}
}
var person = { name: '老张' };
for (var key in person) {
if (person.hasOwnProperty(key)) {
console.log(key);
}
}
想要得到自身的属性还有另外两种方法:es5:利用Object.getOwnPropertyNames(obj)
var person = { name: '老张' }
var props = Object.getOwnPropertyNames(person)
var person = { name: '老张' }
var props = Object.getOwnPropertyNames(person)
es6:利用Object.keys(obj)
var person = { name: '老张' }
var props = Object.keys(person)
var person = { name: '老张' }
var props = Object.keys(person)
感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具:http://tools./code/HtmlJsRun测试上述代码运行效果。在线HTML/CSS/JavaScript代码运行工具在线HTML/CSS/JavaScript代码运行工具http://tools./code/HtmlJsRun关于JavaScript相关内容感兴趣的读者可查看本站专题:《javascript面向对象入门教程》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》javascript面向对象入门教程JavaScript错误与调试技巧总结JavaScript数据结构与算法技巧总结JavaScript遍历算法与技巧总结JavaScript数学运算用法总结希望本文所述对大家JavaScript程序设计有所帮助。
var obj = { p: 1 }
'p' in obj // true
'toString' in obj // true
var obj = { p: 1 }
'p' in obj // true
'toString' in obj // true上面代码中,obj对象上有一个p属性,所以使用in运算符时,得到true,但toString并没有在obj对象上,为什么也返回true呢,这是因为in运算符,不能识别哪些属性是对象自身的,哪些是继承的。因为toString是继承自obj的原型对象,所以会返回true。1.2 for … in 循环1.2 for … in 循环for … in 循环用来遍历一个对象的全部属性。
var obj = {a: 1, b: 2, c: 3};
for (var i in obj) {
console.log(obj[i]);
}
var obj = {a: 1, b: 2, c: 3};
for (var i in obj) {
console.log(obj[i]);
}
for … in 循环有两个使用注意点
它遍历的是对象所有可遍历的属性,会跳过不可遍历的属性。
它不仅遍历对象自身的属性,还遍历继承的属性。
它遍历的是对象所有可遍历的属性,会跳过不可遍历的属性。它不仅遍历对象自身的属性,还遍历继承的属性。如果想得到自身的属性,需要结合hasOwnProperty方法,在循环内部判断一下,某个属性是否为对象自身的属性。
var person = { name: '老张' };
for (var key in person) {
if (person.hasOwnProperty(key)) {
console.log(key);
}
}
var person = { name: '老张' };
for (var key in person) {
if (person.hasOwnProperty(key)) {
console.log(key);
}
}
想要得到自身的属性还有另外两种方法:es5:利用Object.getOwnPropertyNames(obj)
var person = { name: '老张' }
var props = Object.getOwnPropertyNames(person)
var person = { name: '老张' }
var props = Object.getOwnPropertyNames(person)
es6:利用Object.keys(obj)
var person = { name: '老张' }
var props = Object.keys(person)
var person = { name: '老张' }
var props = Object.keys(person)
感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具:http://tools./code/HtmlJsRun测试上述代码运行效果。在线HTML/CSS/JavaScript代码运行工具在线HTML/CSS/JavaScript代码运行工具http://tools./code/HtmlJsRun关于JavaScript相关内容感兴趣的读者可查看本站专题:《javascript面向对象入门教程》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》javascript面向对象入门教程JavaScript错误与调试技巧总结JavaScript数据结构与算法技巧总结JavaScript遍历算法与技巧总结JavaScript数学运算用法总结希望本文所述对大家JavaScript程序设计有所帮助。
相关文章:
- JavaScript基于js实现判断浏览器类型代码实例
- js详细分析vue表单数据的绑定js大全
- jsVue移动端项目实现使用手机预览调试操作js大全
- js深入理解 ES6中的 Reflect用法js大全
- JavaScriptvuejs element table 表格添加行,修改,单独删除行,批量删除行操作
- js解决echarts图表使用v-show控制图表显示不全的问题js大全
- JavaScriptecharts.js 动态生成多个图表 使用vue封装组件操作
- jsvue-router为激活的路由设置样式操作js大全
- js完美解决vue 中多个echarts图表自适应的问题js大全
- js解决Vue @submit 提交后不刷新页面问题js大全