Object.keys()来获取对象的属性

Object.keys()来获取对象的属性,第1张

在实际开发中可能会遇到需要获取对象的所有属性,这时你可能会自己来遍历一遍获取,其实原生js已经为我们提供了一个方法,他就是Objectkeys(),它返回一个数组,就可以结合forEach方法遍历对象。

1对象

// 1对象

var a = {

a : 123,

b : 'asd',

c : function() {

consolelog( 'haha' );

}

};

consolelog( Objectkeys( a ) ); // [ 'a', 'b', 'c' ]

2数组

// 2数组

var b = [ 123, 21, 31 ];

consolelog( Objectkeys( b ) ); // [ '0', '1', '2' ]

3构造函数

// 3构造函数

function c() {

thisaa = 123;

thisbb = 'asdas';

thiscc = function() {

}

consolelog( Objectkeys( c ) ); // []

4实例化对象

// 4实例化对象

var d = new c();

consolelog( Objectkeys( d ) ); // [ 'aa', 'bb', 'cc' ]

5字符串

// 5字符串

var e = 'sdf123';

consolelog( Objectkeys( e ) ); // [ '0', '1', '2', '3', '4', '5' ]

每个Img规定一个ID;

<img src="1jpg" id="img1">

<img src="1jpg" id="img2">

<img src="1jpg" id="img3">

点击一个按钮获取src

<input type="button" value="获取src" onclick="aa()">

js中:

function aa(){

var img1 = documentgetElementById("img1")src;

//别的一样获取。这样获取的src是绝对路径

}

或者这样:

function aa(){

var img1 = documentgetElementById("img1")getAttribute("src");

//跟上面效果一样。

}

如果你知道a处于form下的第几级的话,直接thisparentNodeparentNode 写n个parentNode就可以了,否则的话就递归判断

var a = this;

var parent = aparentNode; 

while(parent tagName == "form")

{

    parent = parent parentNode;

}

这样就获取到form了

原生JS是没有根据属性来找到DIV的 如果你非常想用 那就是找到所有DIV的标签 然后在获取他的CLASS属性 进行比较 这样才可以 JQUERY的原理就是这样 只不过他把过程都写到函数里去了

以上就是关于Object.keys()来获取对象的属性全部的内容,包括:Object.keys()来获取对象的属性、JS如何取得当前对象的属性、求大神指导js如何获取标签所在的form对象等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9538672.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存