JavaScript の window オブジェクトに登録した関数を削除する
window に登録した関数(つまりグローバル関数)を削除するには、delete 演算子を使う。ただし、いくつかの注意点がある。
// 登録
window.myFunction = function() {
console.log('test')
}
// 呼び出し
myFunction() // → test
// 削除
delete window.myFunction
// 確認
console.log(typeof myFunction) // → "undefined"注意点
つまり、グローバルスコープにある関数でも、どのように定義したかによって削除できるかが決まる。
// 削除できない例
function test() {}
delete window.test // false(削除されない)
// 削除できる例
window.test = function() {}
delete window.test // true(削除される)このように、function 宣言ではなく プロパティとして代入した関数 であれば delete で安全に消せる。