Objetos Objetos em JavaScript são a classe base de todos os objetos em JS, ou seja, todos os objetos em JS são derivados de objetos de objetos. Os objetos do objeto são usados principalmente para encapsular dados arbitrários no formulário de objeto.
1. Introdução à classe de objeto
A classe de objeto é a classe base (classe pai) de todas as classes JavaScript, fornecendo uma maneira fácil de criar objetos personalizados sem exigir que os programadores defina construtores.
2. Propriedades principais da classe de objeto
1.Constructor: Construtor de objeto.
2.Protótipo: obtenha o objeto protótipo da classe, propriedade estática.
3. Métodos principais da classe de objeto
1.HasownProperty (Name PropertyName)
Determina se o objeto tem um atributo específico. Esta propriedade deve ser especificada com uma string, por exemplo, obj.HasownProperty ("nome"), retornando um valor booleano. Este método não pode verificar se a cadeia de protótipo do objeto possui essa propriedade; Deve ser um membro do próprio objeto.
var str = ""; alert ("str.HasownProperty (/" split/") é:"+str.HasownProperty ("split")); // return falsEalert ("string.prototype.HasownProperty (/" split/") é:"+string.prototype.HasownProperty ("Split")); // retorna verdadeiroResultados em execução:
O uso da HasownProperty não é apenas aqui. No jQuery, uma etapa indispensável ao escrever plug-ins é inicializar os parâmetros. Um dos métodos muito importantes é $ .Extend (); Seu princípio é aplicar o método HASOWNPROPERTY (); Use para o Loop para atravessar os membros do objeto, se houver membros do objeto com o mesmo nome, se houver, substitua o antigo pelo novo membro do objeto. Dessa forma, podemos modificar as alterações do parâmetro no método para controlar o processo do programa. Para as partes que não mudaram, ainda podemos usar o valor padrão para controlá -lo. Também podemos simplesmente simular esta função de extensão, como segue
Função Extend (Target, Source) {// Alvo Fonte antiga nova para (var i na fonte) {if (Target.HasownProperty (i)) {Target [i] = fonte [i];}} retorna alvo;} var a = {"primeiro": "Second": "Lyl", "terceiro": "" bob "}; a) {alert (a [i]); // originalmente era Bob, mas agora se tornou leo}2.IsprototypeOf (objeto)
Determine se o objeto é um protótipo de outro objeto.
obj1.isprototypeof (obj2);
Obj1 é uma instância de um objeto; O OBJ2 é outro objeto que verificará sua cadeia de protótipo. As cadeias de protótipo podem ser usadas para compartilhar a funcionalidade entre diferentes instâncias do mesmo tipo de objeto. Se a cadeia de protótipos da Obj2 contiver obj1, o método ISPrototyOf retorna true. Se o Obj2 não for um objeto ou obj1 não aparecer na cadeia de protótipos no OBJ2, o método ISProTypeOF retornará false.
<script type = "text/javascript"> function foo () {this.name = 'foo';} function bar () {} bar.prototype = new foo (); var goo = new bar (); alert (goo.name); //fooalert(bar.prototype.isprototypeof(goo ));3.PropertyIsenumerable (Nome da Propriedade)
Através desse método, podemos detectar se o membro desse objeto é percorrido. Se for percorrido, prova que esse objeto pode ser percorrido usando um loop for in loop.
O formato é o seguinte: obj.propertyisenumerable (PropertyName)
Se o nome do PropertyName existir no OBJ e pode ser exaustivamente enumerado usando um para… em loop, a propriedade da propriedadesenumerável retorna true. Se o objeto não tiver a propriedade especificada ou a propriedade especificada não for enumerável, a propriedade PropertyIsenumerable retornará falsa. Normalmente, as propriedades predefinidas não são enumeráveis, enquanto as propriedades definidas pelo usuário são sempre enumeráveis.
4.ToString (): retorne a sequência correspondente ao objeto
5.ValueOf (): retorna o tipo original correspondente ao objeto
Os 5 métodos acima são definidos no objeto.prototipo. Todos os objetos no ECMAScript são herdados do objeto; portanto, todos os objetos no ECMAScript têm vários métodos.
Código de teste 1:
var p = new Object (); // Crie um objeto diretamente através do objeto // atributo dinâmico P.age =; Ent.Write ("<pre>"); document.writeln ("p.Constructor:"+p.Constructor); // Obtenha o documento do construtor do objeto. Document.Writeln ("P.IsPrototypeOf (p):"+p.isprototypeof (p)); document.writeln ("p.HasownProperty (/" Age/"):"+P.HasownProperty ("idade"); "+p.propertyisenumerable (" idade ")); document.writeln (" p.toString (): "+p.toString ()); document.writeln (" p.valueof (): "+p.valueof ()); document.write (" </pre> "); document.write (" </pre> ");Resultados em execução:
Código de teste 2:
var car = function () {}; car.prototype.hello = function () {alert ("hello car");}; var car = new car (); car.f = function () {alert ("método personalizado");} document.write ("<pre>"); "+car.HasownProperty (" f ")); // Ture, o objeto do carro tem o Document.Writeln (" car.propertyisenumerable (/"f/")) é: "+car.propertyisenumerable (" f "); document.writeln ("car.hasownProperty (/" hello/")"+car.hasownProperty ("hello")); // FALSO, porque o próprio carro não possui o documento do método hello.writeln ("car.propertyisenumerable (/" hello/") resultado é:"+car.propertyisenumerable ("hello")); // false, sem esse método, é claro, o resultado de document.writeln ("car.constructor.prototype.HasownProperty (/" hello/") é:"+car.constructor.prototype.hasownProperty ("hello")); // Verdadeiro, o protótipo do carro da classe tem o documento do hello Method.writeln ("car.constructor.prototype.propertyisenumerable (/" hello/") e o resultado é:"+car.constructor.protype.propertyisenumerable (hello "); Document.Writeln ("Car.prototype.HasownProperty (/" Hello/") e o resultado é:"+car.prototype.HasownProperty ("Hello")); // true, o protótipo do carro da classe tem o hello Document.Writel ("OPROTYPY.PROTYPY DO CLASSENUMENLABERABILIVELECIDADE: "+Car.prototype.propertyisenumerable (" hello ")); document.write (" </pre> ");Resultados em execução:
O exposto acima é uma explicação detalhada da classe de objeto em JS que o editor apresentou a você, incluindo o resumo dos pontos de conhecimento JavaScript (onze). Espero que seja útil para você.