Какие-либо проблемы со следующим способом сделать его?
int CharToInt(const char c)
{
switch (c)
{
case '0':
return 0;
case '1':
return 1;
case '2':
return 2;
case '3':
return 3;
case '4':
return 4;
case '5':
return 5;
case '6':
return 6;
case '7':
return 7;
case '8':
return 8;
case '9':
return 9;
default:
return 0;
}
}
Объект-прототип предназначен для использования в функциях конструктора , в основном функциях, которые будут вызываться с использованием оператора new для создания новых экземпляров объекта.
Функции. в JavaScript - это объекты первого класса , что означает, что вы можете добавлять к ним члены и обращаться с ними так же, как с обычными объектами:
var STORE = {
item : function() {
}
};
STORE.item.add = function() { alert('test 123'); };
STORE.item.add();
Типичное использование объекта-прототипа, как я сказал ранее,это когда вы создаете экземпляр объекта, вызывая функцию-конструктор с оператором new, например:
function SomeObject() {} // a constructor function
SomeObject.prototype.someMethod = function () {};
var obj = new SomeObject();
Все экземпляры SomeObject наследуют члены из SomeObject.prototype
, потому что к этим членам будет осуществляться доступ через цепочка прототипов.
Каждая функция в JavaScript имеет объект-прототип, потому что нет способа узнать, какие функции предназначены для использования в качестве конструкторов.
Вы можете использовать средства восстановления JSON для преобразования вашего JSON в объекты класса во время синтаксического анализа. В черновике EcmaScript 5 принята схема восстановителя JSON2, описанная на http://JSON.org/js.html
var myObject = JSON.parse(myJSONtext, reviver);
Необязательный параметр восстановителя - это функция, которая будет вызываться для каждого ключ и значение на каждом уровне конечный результат. Каждое значение будет заменен на результат оживителя функция. Это можно использовать для реформирования общие объекты в экземпляры псевдоклассы, или преобразовать дату строки в объекты Date.
myData = JSON.parse(text, function (key, value) {
var type;
if (value && typeof value === 'object') {
type = value.type;
if (typeof type === 'string' && typeof window[type] === 'function') {
return new (window[type])(value);
}
}
return value;
});