Primeiro entenda as propriedades da enum
Geralmente, use para ~ em Traversal
var a = [1,2,3]; para (var i em a) {console.log (a [i]);} orvar o = {p1: 1, p2: 2}; para (var i in o) {console.log (i+'='+o [i]);} // p1 = 1; 2; 2;<1> Nem todos os atributos serão exibidos no para ~ em Traversal. Por exemplo (matriz) atributo de comprimento e atributo construtor. As propriedades exibidas são chamadas enumeráveis, e as propriedades enumeráveis podem ser determinadas pelo método PropertyIsEnumerable () fornecido por cada objeto;
<2> Cada atributo na cadeia de protótipos também será exibido, desde que sejam enumeráveis, HasownProperty () para determinar se uma propriedade é a própria propriedade de um objeto ou uma propriedade de protótipo;
<3> Para todas as propriedades do protótipo, o PropertyIsenumerable () retornará falso, incluindo aqueles enumeráveis no para ~ em Traversal.
Exemplo de código JS
function cão (nome, cor) {this.name = nome; this.color = cor; this.somemethod = function () {return 1;}} Dog.prototype.price = 100; Dog.prototype.rating = 3; var newdog = new Dog ("Doggg" "") newDog) {console.log (prop+'='+newDog [prop]);} // nome = doggg // color = amarelo // somemethod = function () {return 1;} // preço = 100 // rating = 3NewDog.HasownProperty ('' ''); // verdade;Mostre apenas seus próprios atributos
para (var Prop no newDog) {if (newDog.HasownProperty (prop)) {console.log (prop+'='+newDog [prop]);}} newDog.propertyisenumerable ('name'); // truenewdog.propertyisenumerable ('construtor';Nota: A maioria das propriedades e métodos internos não é enumerável.
Quaisquer atributos da cadeia de protótipo também não são enumeráveis
Se a chamada para PropertyInumerable () for de um objeto na cadeia de protótipos, as propriedades nesse objeto são enumeráveis
newDog.constructor.prototype.propertyisenumerable ('preço'); // trueisprototypeOf (): cada objeto tem, indicando se o objeto atual é um protótipo de outro objeto
Exemplo de código JS
var macacy = {Hair: True, Feeds: 'Bananas', respira: 'air'}; função humana (nome) {this.name = name;} humana.prototype = Monkey; var george = new Human ('George');O exposto acima é o HaswnProperty (), PropertyIsenumerable () e ISPrototypeOf () em JS apresentado a você pelo editor. Espero que seja útil para todos. Se você tiver alguma dúvida, deixe -me uma mensagem e o editor responderá a todos a tempo. Muito obrigado pelo seu apoio ao site wulin.com!