Почему бы просто не использовать scanf ("% i") и проверить его возвращение?
Ближайшее, что вы можете найти, это __ noSuchMethod __ , который является эквивалентом __call () PHP в JavaScript.
К сожалению, нет эквивалента __get / __ set, который является позор, потому что с ними мы могли бы реализовать __noSuchMethod__, но я пока не вижу способа реализовать свойства (как в C #) с помощью __noSuchMethod __.
var foo = {
__noSuchMethod__ : function(id, args) {
alert(id);
alert(args);
}
};
foo.bar(1, 2);
Javascript 1.5 действительно имеет геттер / сеттер синтаксический сахар . Это очень хорошо объяснил Джон Ресиг здесь
. Он недостаточно универсален для использования в Интернете, но, безусловно, они есть в Firefox (также в Rhino, если вы когда-нибудь захотите использовать его на стороне сервера).
Если вы ищете что-то вроде функции PHP __ get ()
, я не думаю, что Javascript предоставляет какую-либо такую конструкцию.
Лучшее, что я могу придумать. выполнение - это перебирать нефункциональные члены объекта и затем создавать соответствующую функцию «getXYZ ()» для каждого.
В хитроумном псевдо-коде:
for (o in this) {
if (this.hasOwnProperty(o)) {
this['get_' + o] = function() {
// return this.o -- but you'll need to create a closure to
// keep the correct reference to "o"
};
}
}