Включение и отключение разрушения отдельных элементов данных
Вы можете разрушать элементы данных (свойства, переменные, функции, объекты) в ваших скриптах для предотвращения возвращения значений, которые могут использоваться ненадлежащим образом другими скриптами или публиковаться в рамках другого скрипта. Вам может понадобиться отключить разрушение элементов данных, чтобы другие скрипты могли работать с ними. Вы не можете отключить разрушение данных элементов данных другого сервера.
Вы управляете
разрушением элементов данных с помощью двух функций:
taint добавляет
разрушение данных к элементу, а
untaint отключает разрушение данных в элементе данных. Каждая из этих функций принимает в качестве аргумента единственный элемент данных.
Например, следующий оператор удаляет
разрушение со свойства, чтобы скрипт мог отправлять его другому серверу:
untaintedStat=untaint(window.defaultStatus)
Ни
taint, ни
untaint не модифицируют свой аргумент; обе функции возвращают маркированную или немаркированную ссылку на объект
argument или копию значения примитивного типа (
number или
boolean). Эта маркировка называется
код разрушения. JavaScript присваивает уникальный
код разрушения каждому элементу данных сервера.
Неразрушенные данные имеют
код разрушения identity (null).