发布时间:2026-02-05 17:58:59 浏览次数:0
在JavaScript中,要获取对象的属性值,可以使用点操作符(.)或方括号([])。如果有一个名为obj的对象,其属性为property,则可以通过obj.property或obj["property"]来获取该属性的值。
JS 获得对象的方法
| 方法 | 描述 |
| 使用typeof运算符和filter()方法 | 通过创建一个函数,使用typeof运算符检查对象的类型是否为函数,并使用filter()方法过滤出所有方法。 |
| 使用typeof运算符和forin循环 | 通过创建一个函数,使用typeof运算符检查对象的类型是否为函数,并使用forin循环遍历对象的属性。 |
示例代码:
function Obj() { this.m1 = function M1() { return "From M1"; } this.m2 = function M2() { return "From M2"; }}function getAllMethods(obj = this) { return Object.keys(obj) .filter((key) => typeof obj[key] === 'function') .map((key) => obj[key]);}console.log(getAllMethods(new Obj())); // [ [Function: M1], [Function: M2] ]| 方法 | 描述 |
| getElementById | 通过元素的ID获取指定的元素。 |
| getElementsByName | 通过元素的name属性获取元素集合。 |
| getElementsByTagName | 通过元素的标签名获取元素集合。 |
| getElementsByClassName | 通过元素的类名获取元素集合。 |
| document.documentElement | 获取html的方法。 |
| document.body | 获取body的方法。 |
| querySelector | 通过选择器获取一个元素。 |
| querySelectorAll | 通过选择器获取一组元素。 |
示例代码:
// 通过ID获取元素let elementById = document.getElementById('p1');// 通过类名获取元素集合let elementsByClass = document.getElementsByClassName('p2');// 通过标签名获取元素集合let elementsByTag = document.getElementsByTagName('p');| 方法 | 描述 |
| Object.keys() | 返回对象的可枚举属性和方法的名称数组。 |
| Object.getOwnPropertyNames() | 返回的数组包含所有属性(可枚举或不可枚举)直接找到给定对象。 |
| for…in循环 | 遍历对象的所有可枚举属性(包括继承的属性)。 |
示例代码:
function myObj(name, attr) { this.name = name; this.attr = attr; this.sayHi = function () { return 'hi everyone!!!'; }}var myTester = new myObj("shinejaie", 1);var arr = Object.keys(myTester);console.log('arr', arr); // 输出 arr ["name", "attr", "sayHi"]| 方法 | 描述 |
| 点运算符 | 使用点 (.) 表示法来访问对象的特定属性。 |
| 方括号运算符 | 使用方括号 ([]) 和属性名称的字符串表示来访问值。 |
示例代码:
var obj = {abc: "ss", nn: 90};var v1 = obj.abc; // 使用点的方式var v2 = obj["abc"]; // 使用中括号的方式console.log(v1); // 输出 "ss"console.log(v2); // 输出 "ss"相关问题与解答
问题1: JavaScript中如何动态获取对象的属性值?
答:可以使用方括号运算符[] 来动态获取对象的属性值。
var obj = {abc: "ss", nn: 90};var propertyName = 'abc';var value = obj[propertyName]; // value 为 "ss"这种方法允许你使用变量来存储属性名称,从而动态地访问对象的属性。
问题2: 如何在JavaScript中遍历对象的所有属性和方法?
答:可以使用for...in 循环来遍历对象的所有可枚举属性(包括方法和属性)。
var obj = {abc: "ss", nn: 90, sayHello: function() { return "Hello"; }};for (var key in obj) { if (obj.hasOwnProperty(key)) { console.log(key + ": " + obj[key]); }}这段代码会输出对象obj 的所有属性和方法,包括abc、nn 和sayHello。