Como trabalhar com propriedades e métodos privados do javascript para programar com html

Video: Curso de HTML5 - 25 - Integrando javascript e HTML5

Muitos desenvolvedores web estão sob a impressão de que o javascript não fornece propriedades privadas ou métodos. Este não é o caso. É verdade que o javascript faz falta qualquer palavra-chave específica que designa uma propriedade particular ou método como privado, mas a verdade é que ele pode criar e gerenciar os membros privados.

membros privados são sempre criados como parte do construtor de um objeto. Você pode criar propriedades de parâmetro para o construtor ou criá-lo dentro do próprio construtor. métodos privados são aninhados dentro do construtor. O código a seguir mostra ambas as propriedades particulares e um método particular.

// param é TestObject private.function (param) {// ThisString é private.ThisString = "abc"- // ChangeString é ChangeString private.function (input) {return input.toUpperCase () -}}

Se agora você criar uma função para testar este objeto, como CreateObject () mostrado no código a seguir, você achar que o pedido não produzir o resultado desejado. Na verdade, se você estiver usando um editor projetado especificamente para trabalhar com javascript, você verá que param, ThisString, e ChangeString () nem sequer aparecem como possíveis escolhas. Os membros são inacessíveis.

CreateObject função () {var DoTest = novo TestObject ("def") -document.getElementById ("Resultado") .innerHTML = DoTest.ChangeString ("def") -}


Os membros privados de TestObject também são inacessíveis a qualquer método público que você cria. Claro, isso apresenta um problema porque o objeto agora tem dados privados que é aparentemente inacessível para qualquer coisa, mas o construtor. javascript tem um terceiro nível de visibilidade chamada privilegiado. Aqui está um método privilegiado para TestObject:

// MeldData é privileged.this.MeldData = função () {return ChangeString (ThisString + param) -}

Esta função também está definido dentro do construtor. No entanto, neste caso, é atribuído a uma variável pública, MeldData, que atua como um verdadeiro método. Seu editor irá exibi-lo como um método quando você acessá-lo. Você pode passá-lo dados como qualquer outro método.

Video: #2 HTML Aula 18 - javascript Parte 1

No entanto, este método é privilegiada e tem pleno acesso aos dados privados em TestObject. Se você mudar CreateObject () então parece que o exemplo a seguir, o aplicativo agora produz a saída desejada:

CreateObject função () {var DoTest = novo TestObject ("def") - // Este código não vai funcionar .// document.getElementById ("Resultado") .innerHTML = // DoTest.ChangeString ("def") - // Este will.document.getElementById código ("Resultado") .innerHTML = DoTest.MeldData () -}

Publicações relacionadas