浅谈重写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 相关文章推荐
强制设为首页代码
Jun 19 Javascript
FCK调用方法..
Dec 21 Javascript
Javascript中的常见排序算法
Mar 27 Javascript
HTML中事件触发列表与解说
Jul 09 Javascript
prototype 中文参数乱码解决方案
Nov 09 Javascript
js判断设备是否为PC并调整图片大小
Feb 12 Javascript
javascript实现C语言经典程序题
Nov 29 Javascript
原生js实现addclass,removeclass,toggleclasss实例
Nov 24 Javascript
PHP获取当前页面完整URL的方法
Dec 02 Javascript
JavaScript实现前端分页控件
Apr 19 Javascript
基于JS实现仿京东搜索栏随滑动透明度渐变效果
Jul 10 Javascript
浅析Visual Studio Code断点调试Vue
Feb 27 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
《神奇女侠:血脉》神力女超人大战犯罪公司
2020/04/09 欧美动漫
php生成与读取excel文件
2016/10/14 PHP
thinkPHP5 tablib标签库自定义方法详解
2017/05/10 PHP
PHP Include文件实例讲解
2019/02/15 PHP
Yii2 queue的队列使用详解
2019/07/19 PHP
JavaScript 开发工具webstrom使用指南
2014/12/09 Javascript
JQuery实现展开关闭层的方法
2015/02/17 Javascript
jQuery采用连缀写法实现的折叠菜单效果
2015/09/18 Javascript
javascript实现可键盘控制的抽奖系统
2016/03/10 Javascript
js改变css样式的三种方法推荐
2016/06/28 Javascript
在vue中实现简单页面逆传值的方法
2017/11/27 Javascript
Vue.js 中的实用工具方法【推荐】
2019/07/04 Javascript
layer ui插件显示tips时,修改字体颜色的实现方法
2019/09/11 Javascript
[03:05]DOTA2英雄基础教程 嗜血狂魔
2013/12/10 DOTA
详解Django框架中的视图级缓存
2015/07/23 Python
关于django 数据库迁移(migrate)应该知道的一些事
2018/05/27 Python
Python Series从0开始索引的方法
2018/11/06 Python
Python3实现对列表按元组指定列进行排序的方法分析
2018/12/22 Python
python3编写ThinkPHP命令执行Getshell的方法
2019/02/26 Python
给我一面国旗 python帮你实现
2019/09/30 Python
Pycharm最新激活码2019(推荐)
2019/12/31 Python
新版Pycharm中Matplotlib不会弹出独立的显示窗口的问题
2020/06/02 Python
一文轻松掌握python语言命名规范规则
2020/06/18 Python
GNC健安喜美国官网:美国第一营养品牌
2016/07/22 全球购物
英国领先的汽车轮胎和快速健康中心:Kwik Fit
2017/10/29 全球购物
static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别?
2015/02/22 面试题
护理目标管理责任书
2014/07/25 职场文书
财务科长个人对照检查材料
2014/09/18 职场文书
国庆节标语大全
2014/10/08 职场文书
三八妇女节标语
2014/10/09 职场文书
运动会报道稿大全
2015/07/23 职场文书
幼儿教师师德培训心得体会
2016/01/09 职场文书
毕业欢送晚会主持词
2019/06/25 职场文书
开网店计划分析
2019/07/30 职场文书
2020优秀员工演讲稿(三篇)
2019/10/17 职场文书
JavaScript原始值与包装对象的详细介绍
2021/05/11 Javascript