Cómo trabajar con las propiedades y métodos privados de javascript para programar con html

Video: Sublime Text (HTML, CSS, javascript y PHP)

Muchos desarrolladores web están bajo la impresión de que javascript no proporciona propiedades privadas o métodos. Este no es el caso. Es cierto que javascript hace falta cualquier palabra clave específica que designa una propiedad o un método particular como privado, pero el hecho es que se puede crear y administrar los miembros privados.

Video: 038. Tutorial de javascript en español. POO: Atributos y métodos privados

Los miembros privados siempre se crean como parte del constructor de un objeto. Puede crear propiedades como un parámetro para el constructor o crearlo dentro del propio constructor. Los métodos privados están anidados dentro del constructor. El código siguiente muestra las propiedades privadas y un método privado.

// PARAM es private.function TestObject (param) {// ThisString es private.ThisString = "a B C"- // changeString es private.function changeString (entrada) {return input.toUpperCase () -}}

Si ahora se crea una función para probar este objeto, tales como CreateObject () se muestra en el siguiente código, se encuentra que la aplicación no se consigue el resultado deseado. De hecho, si usted está usando un editor diseñado específicamente para trabajar con javascript, usted encontrará que PARAM, ThisString, y ChangeString () ni siquiera aparecen como posibles opciones. Los miembros son inaccesibles.

Video: 2.- Atributos privados y métodos getter and setter

función CreateObject () {DoTest var = new TestObject ("def") -document.getElementById ("Resultado") .innerHTML = DoTest.ChangeString ("def") -}

Los miembros privados de TestObject Tampoco se puede acceder a cualquiera de los métodos públicos que se crean. Por supuesto, esto presenta un problema porque el objeto tiene ahora datos privados que aparentemente es inaccesible a cualquier cosa menos el constructor. javascript tiene un tercer nivel de visibilidad llamada privilegiado. Aquí es un método privilegiado para TestObject:

Video: Atom, el Nuevo e Increible Editor de Codigo!

// MeldData es privileged.this.MeldData = function () {return changeString (ThisString + param) -}

Esta función también se define dentro del constructor. Sin embargo, en este caso, se asigna a una variable pública, MeldData, que actúa como un verdadero método. Su editor lo mostrará como un método cuando se accede a él. Puede pasar los datos al igual que cualquier otro método.

Sin embargo, este método tiene el privilegio y tiene acceso completo a los datos privados en TestObject. Si cambia CreateObject () por lo que parece el siguiente ejemplo, la aplicación ahora produce el resultado deseado:

función CreateObject () {DoTest var = new TestObject ("def") - // Este código no funcionará .// document.getElementById ("Resultado") .innerHTML = // DoTest.ChangeString ("def") - // Este código will.document.getElementById ("Resultado") .innerHTML = DoTest.MeldData () -}
Artículos Relacionados