Heim  >  Artikel  >  Web-Frontend  >  Implementieren Sie Multicast-Ereignisse und Eigenschaftssetter/-leser in JavaScript

Implementieren Sie Multicast-Ereignisse und Eigenschaftssetter/-leser in JavaScript

高洛峰
高洛峰Original
2016-11-25 10:58:591166Durchsuche

Ich habe ein interessantes Experiment durchgeführt. Die meisten Leute im Internet verwenden Funktionen (ähnlich wie person.getName(), person.setName()). Natürlich ist dies ein allgemeiner Ansatz.

Aber in Nicht-IE-Browsern können Sie versuchen, den folgenden Code auszuführen:

view sourceprint?function Person()

{

var _name

,_age,_sex;

var _nameChanged = new Array(); ()

return _nameChanged; );

_nameChanged.push(value);

});

this.__defineGetter__(Name,function()

{

return _name;

});

this.__defineSetter__(Name,function(value)

{

if (this .NameChanged != null) { ged[f](value);

                                                               __defineGetter__(Age,function( )

{

return _age;

});

this.__defineSetter__(Age,function(value)

{

_age = value;

});

}

Person.prototype =

{

get Sex ()

{

return _sex

},

set Sex(value)

{ _sex = value;

}

var person = new Person();

person.NameChanged = function ()

warning(Event 1); }

person.NameChanged = function()

{

warning(Event 2);

}

person.Name = Treenew;

person.Age = 22;

person.Sex = Man

alert(The + person.Name + Age is + person. Alter + . Der Geschlechtswert ist + person.Sex); sehr elegante Sache. Aber haben Sie bezüglich des Multicast-Vorfalls gute Ideen?

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:jqGrid ruft den Spaltenwert abNächster Artikel:jqGrid ruft den Spaltenwert ab