浅谈重写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 相关文章推荐
在 IE 中调用 javascript 打开 Excel 表
Dec 21 Javascript
js 面向对象的技术创建高级 Web 应用程序
Feb 25 Javascript
js下关于onmouseout、事件冒泡的问题经验小结
Dec 09 Javascript
javascript中检测变量的类型的代码
Dec 28 Javascript
IE的事件传递-event.cancelBubble示例介绍
Jan 12 Javascript
js中获取时间new Date()的全面介绍
Jun 20 Javascript
AngularJS入门教程之双向绑定详解
Aug 18 Javascript
Ajax+FormData+javascript实现无刷新表单信息提交
Oct 24 Javascript
如何使用electron-builder及electron-updater给项目配置自动更新
Dec 24 Javascript
vue+elementUI组件table实现前端分页功能
Nov 15 Javascript
jQuery冲突问题解决方法
Jan 19 jQuery
js中Map和Set的用法及区别实例详解
Feb 15 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
《Pokemon Sword·Shield》系列WEB动画《薄明之翼》第2话声优阵容公开!
2020/03/06 日漫
mayfish 数据入库验证代码
2010/04/30 PHP
php rsa加密解密使用详解
2015/01/14 PHP
PHP实现对图片的反色处理功能【测试可用】
2018/02/01 PHP
php+mysql实现的无限分类方法类定义与使用示例
2020/05/27 PHP
js弹出div并显示遮罩层
2014/02/12 Javascript
ListBox实现上移,下移,左移,右移的简单实例
2014/02/13 Javascript
Javascript中的关键字和保留字整理
2014/10/16 Javascript
javascript中innerText和innerHTML属性用法实例分析
2015/05/13 Javascript
JavaScript html5 canvas画布中删除一个块区域的方法
2016/01/26 Javascript
JavaScript重载函数实例剖析
2016/05/13 Javascript
利用JS实现文字的聚合动画效果
2017/01/22 Javascript
微信小程序 配置顶部导航条标题颜色的实现方法
2017/09/20 Javascript
Taro集成Redux快速上手的方法示例
2018/06/21 Javascript
Vue 实现前端权限控制的示例代码
2019/07/09 Javascript
js+HTML5 canvas 实现简单的加载条(进度条)功能示例
2019/07/16 Javascript
在layui框架中select下拉框监听更改事件的例子
2019/09/20 Javascript
Vue v-for循环之@click点击事件获取元素示例
2019/11/09 Javascript
vue element ui validate 主动触发错误提示操作
2020/09/21 Javascript
layui使用及简单的三级联动实现教程
2020/12/01 Javascript
[03:12]完美世界DOTA2联赛PWL DAY6集锦
2020/11/05 DOTA
python获取网页状态码示例
2014/03/30 Python
Python爬取国外天气预报网站的方法
2015/07/10 Python
Python实现SQL注入检测插件实例代码
2019/02/02 Python
详解Django中CBV(Class Base Views)模型源码分析
2019/02/25 Python
Python+OpenCV实现将图像转换为二进制格式
2020/01/09 Python
jupyter notebook 添加kernel permission denied的操作
2020/04/21 Python
Orvis官网:自1856年以来,优质服装、飞钓装备等
2018/12/17 全球购物
香港草莓网:Strawberrynet香港
2019/05/10 全球购物
自考生毕业自我鉴定
2013/10/10 职场文书
国际会议邀请函范文
2014/01/16 职场文书
给幼儿园老师的表扬信
2014/01/19 职场文书
民间借贷借条如何写
2015/05/26 职场文书
婚庆司仪开场白
2015/05/29 职场文书
新闻稿件写作范文
2015/07/18 职场文书
2015年酒店销售部工作总结
2015/07/24 职场文书