Я ищу безопасный способ сделать существующую функцию instanceof
другой функцией.__proto__ в IE8 с использованием ko
я прочитал здесь, что __proto__
не поддерживается IE8: https://stackoverflow.com/a/12431941/665261
Я прочитал, что нокаут JS поддерживает IE8: http://knockoutjs.com/documentation/browser-support.html
Я нашел нокаут с помощью __proto__
: https://github.com/knockout/knockout/blob/241c26ca82e6e4b3eaee39e3dc0a92f85bc1df0c/src/utils.js#L21
Как это может быть, что нокаут использует __proto__
и все же работает на IE8?
* «Я ищу безопасный способ сделать существующую функцию экземпляром другой функции». * Функции являются экземплярами 'Function'. Вы пытаетесь сделать ** объект ** похожим на экземпляр, созданный с помощью другой функции-конструктора? Звучит как проблема X/Y для меня. –
@ T.J.Crowder не X/Y. В то время как поиск более широко для лучшего понимания прототипного наследования, я был связан с этим конкретным вопросом. Спасибо за ваш быстрый и просветительный ответ! –
А, вы. Да, иногда мы исследуем технологию только для того, чтобы дать себе знание большего количества инструментов. В этом ключе я уверен, что вы его нашли, но в идеале, а не '__proto__' (который является браузером), где возможно использовать [' Reflect.setPrototypeOf'] (http: //www.ecma-international. org/ecma-262/6.0/index.html # sec-reflect.setprototypeof) или ['Object.setPrototypeOf'] (http://www.ecma-international.org/ecma-262/6.0/index.html#sec -object.setprototypeof). (Ну, на самом деле, где можно избежать изменения прототипа существующего объекта ...) –