Test
{"ScriptPreparationCode":"const __OBSERVER = Symbol(\u0027observer\u0027);\r\nconst div = document.getElementById(\u0027test\u0027);\r\n\r\nfunction update1() {\r\n\tif(!div[__OBSERVER]) {\r\n\t\tdiv[__OBSERVER] = new MutationObserver(mutations =\u003E update1());\r\n\t} else {\r\n\t\tdiv[__OBSERVER].disconnect();\r\n\t}\r\n\r\n\tdiv.style.opacity = parseInt(div.style.opacity) ? 0 : 1;\r\n\r\n\tdiv[__OBSERVER].observe(div, { attributeFilter: [\u0027style\u0027] });\r\n}\r\n\r\nfunction update2() {\r\n\tif(!div[__OBSERVER]) {\r\n\t\tdiv[__OBSERVER] = new MutationObserver(mutations =\u003E update2());\r\n\t} else {\r\n\t\tdiv[__OBSERVER].disconnect();\r\n\t}\r\n\r\n\tdiv.style.opacity = parseInt(div.style.opacity) ? 0 : 1;\r\n\r\n\tdiv[__OBSERVER].observe(div, { attributeFilter: [\u0027style\u0027] });\r\n\tdiv[__OBSERVER].observe(div, { characterData: true, subtree: true });\r\n}","TestCases":[{"Name":"disconnect/reconnect with 1 observe","Code":"update1();","IsDeferred":false},{"Name":"disconnect/reconnect with 2 observes","Code":"update2();","IsDeferred":false}]}