浅谈重写window对象的方法


Posted in Javascript onDecember 29, 2014

重写window对象的方法不是一件新奇的事,比如我们可能需要改变默认alert的行为,如何安全的重写呢?

     小菜看到某知名IT网站是这样的写法:

window.alert = function(){};

     或者

alert = function(){};

     实际上,这种写法有些欠妥。这相当于在window对象上添加了一个alert属性,它的优先级比系统内置的alert高,所以可以达到重写的效果,但这很容易突破,执行以下语句,就会还原alert。

delete window.alert;

     因为通过这种方式重写的alert,只不过是window对象的一个属性而已,可以通过delete操作符删除。

     如何才能永久重写,不可逆转呢?

     只需定义一个全局变量即可!全局变量虽然也会注册为window对象的一个属性,但它不可删除,它是事实上绝对存在的。代码如下:

var alert = function(){};

     这样重写的方法,是绝对不会被还原的,安全可靠!

Javascript 相关文章推荐
用javascript实现无刷新更新数据的详细步骤 asp
Dec 26 Javascript
JavaScript判断两种格式的输入日期的正确性的代码
Mar 25 Javascript
ExtJs使用总结(非常详细)
Mar 22 Javascript
使用JavaScript实现旋转的彩圈特效
Jun 23 Javascript
webpack配置的最佳实践分享
Apr 21 Javascript
Angular 5.0 来了! 有这些大变化
Nov 15 Javascript
微信小程序用户自定义模版用法实例分析
Nov 28 Javascript
JsChart组件使用详解
Mar 04 Javascript
Vue插值、表达式、分隔符、指令知识小结
Oct 12 Javascript
koa2使用ejs和nunjucks作为模板引擎的使用
Nov 27 Javascript
解决前后端分离 vue+springboot 跨域 session+cookie失效问题
May 13 Javascript
vue页面更新patch的实现示例
Mar 25 Javascript
JavaScript中的console.log()函数详细介绍
Dec 29 #Javascript
深入分析原生JavaScript事件
Dec 29 #Javascript
JavaScript中的alert()函数使用技巧详解
Dec 29 #Javascript
JavaScript实现三阶幻方算法谜题解答
Dec 29 #Javascript
浅谈JavaScript Date日期和时间对象
Dec 29 #Javascript
jQuery中clearQueue()方法用法实例
Dec 29 #Javascript
JavaScript实现穷举排列(permutation)算法谜题解答
Dec 29 #Javascript
You might like
计算一段日期内的周末天数的php代码(星期六,星期日总和)
2009/11/12 PHP
Laravel 5框架学习之日期,Mutator 和 Scope
2015/04/08 PHP
php动态变量定义及使用
2015/06/10 PHP
Yii2框架RESTful API 格式化响应,授权认证和速率限制三部分详解
2016/11/10 PHP
PHP中上传文件打印错误错误类型分析
2019/04/14 PHP
用JS操作FRAME中的IFRAME及其内容的实现代码
2008/07/26 Javascript
js 数组克隆方法 小结
2010/03/20 Javascript
购物车选中得到价格实现示例
2014/01/26 Javascript
JavaScript ES5标准中新增的Array方法
2016/06/28 Javascript
jQuery实现鼠标经过像翻页和描点链接效果
2016/08/08 Javascript
使用JSON作为函数的参数的优缺点
2016/10/27 Javascript
详解Angular 4 表单快速入门
2017/06/05 Javascript
js学习总结_轮播图之渐隐渐现版(实例讲解)
2017/07/17 Javascript
layui实现动态和静态分页
2018/04/28 Javascript
element-ui 中的table的列隐藏问题解决
2018/08/24 Javascript
JavaScript ES6箭头函数使用指南
2018/12/30 Javascript
安装Python和pygame及相应的环境变量配置(图文教程)
2017/06/04 Python
Django中使用celery完成异步任务的示例代码
2018/01/23 Python
在Python中定义一个常量的方法
2018/11/10 Python
ffmpeg+Python实现B站MP4格式音频与视频的合并示例代码
2020/10/21 Python
5 个强大的HTML5 API 函数推荐
2014/11/19 HTML / CSS
阿迪达斯印度官方商城:adidas India
2017/03/26 全球购物
英国最出名高街品牌:Forever Unique
2018/02/24 全球购物
大一自我鉴定范文
2013/10/04 职场文书
实习期自我鉴定
2013/10/11 职场文书
美术专业个人自我评价
2014/01/18 职场文书
餐厅经理岗位职责和岗位目标
2014/02/13 职场文书
学习雷锋演讲稿
2014/05/10 职场文书
单位婚育证明范本
2014/11/21 职场文书
实习生个人总结范文
2015/02/28 职场文书
电影地道战观后感
2015/06/04 职场文书
禁毒主题班会教案
2015/08/14 职场文书
2019年鼓励无偿献血倡议书
2019/09/17 职场文书
Django对接elasticsearch实现全文检索的示例代码
2021/08/02 Python
使用CSS实现小三角边框原理解析
2021/11/07 HTML / CSS
解析python中的jsonpath 提取器
2022/01/18 Python