浅谈重写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自适应宽度的瀑布流实现思路
Feb 20 Javascript
谈谈AngularJs中的隐藏和显示
Dec 09 Javascript
javascript HTML5 canvas实现打砖块游戏
Jun 18 Javascript
详解JavaScript中this关键字的用法
May 26 Javascript
js canvas实现擦除动画
Jul 16 Javascript
AngularJS深入探讨scope,继承结构,事件系统和生命周期
Nov 02 Javascript
Three.js入门之hello world以及如何绘制线
Sep 25 Javascript
JavaScript去掉数组重复项的方法分析【测试可用】
Jul 19 Javascript
layui自定义验证,用ajax查询后台是否有重复数据,form.verify的例子
Sep 06 Javascript
javascript+css实现进度条效果
Mar 25 Javascript
JavaScript实现轮播图特效
Apr 10 Javascript
JavaScript枚举选择jquery插件代码实例
Nov 17 jQuery
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 Array交叉表实现代码
2010/08/05 PHP
php调用C代码的实现方法
2014/03/11 PHP
php提取字符串中网站url地址的方法
2014/12/03 PHP
PHP中PDO的事务处理分析
2016/04/07 PHP
php中简单的对称加密算法实现
2017/01/05 PHP
详解PHP中的外观模式facade pattern
2018/02/05 PHP
PHP如何获取Cookie并实现模拟登录
2020/07/16 PHP
jQuery判断复选框是否勾选的原理及示例
2014/05/21 Javascript
Ext4.2的Ext.grid.plugin.RowExpander无法触发事件解决办法
2014/08/15 Javascript
js实现同一页面可多次调用的图片幻灯切换效果
2015/02/28 Javascript
JS基于面向对象实现的拖拽库实例
2015/09/24 Javascript
JavaScript判断浏览器对CSS3属性是否支持的多种方法
2016/11/13 Javascript
基于nodejs实现微信支付功能
2017/12/20 NodeJs
解决Nodejs全局安装模块后找不到命令的问题
2018/05/15 NodeJs
微信小程序下拉框组件使用方法详解
2018/12/28 Javascript
layer ui 导入文件之前传入数据的实例
2019/09/23 Javascript
javascript实现计算器功能
2020/03/30 Javascript
Vue实现可移动水平时间轴
2020/06/29 Javascript
Python3.x中自定义比较函数
2015/04/24 Python
python自定义函数实现一个数的三次方计算方法
2019/01/20 Python
用React加CSS3实现微信拆红包动画效果
2017/03/13 HTML / CSS
eBay比利时购物网站:eBay.be
2019/08/09 全球购物
英国比较机场停车场网站:Airport Parking Essentials
2019/12/01 全球购物
期中考试后的反思
2014/02/08 职场文书
运动会方阵解说词
2014/02/12 职场文书
高一新生军训感言
2014/03/02 职场文书
中共广东省委常委会党的群众路线教育实践活动整改方案
2014/09/23 职场文书
领导班子整改措施
2014/10/24 职场文书
司法局2014法制宣传日活动总结
2014/11/01 职场文书
2014年工商所工作总结
2014/12/09 职场文书
资料员岗位职责
2015/02/10 职场文书
推荐信范文大全
2015/03/27 职场文书
创业计划书之韩国烧烤店
2019/09/19 职场文书
vue响应式原理与双向数据的深入解析
2021/06/04 Vue.js
7个关于Python的经典基础案例
2021/11/07 Python
java如何实现获取客户端ip地址的示例代码
2022/04/07 Java/Android