Показать сообщение отдельно
  #50 (permalink)  
Старый 12.04.2014, 10:56
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

О это хорошо, теперь фикс ничем не помешает. Я думаю, можно не выполнять никаких проверок, кроме наличия properties:
//IE9-11 Object.create bug fix
(function () {
	var object = Object.create({});
	object[0] = null;
	return object.hasOwnProperty(0); //→ false in IE9-11
}()) || new function () {
	var create = Object.create;
	Object.create = function (prototype, properties) {
		var object;
		if (properties) {
			//Object.defineProperties fixes a bug
			object = create(prototype, properties);
		}
		else {
			//numeric key fixes a bug,
			//it can be removed after,
			//unlike alphabetic key
			object = create(prototype, {
				"0": {
					configurable: true
				}
			});
			delete object[0];
		}
		return object;
	};
};

Последний раз редактировалось Octane, 12.04.2014 в 15:56.
Ответить с цитированием