浅谈重写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 动态将数字金额转化为中文大写金额
May 14 Javascript
javascript AOP 实现ajax回调函数使用比较方便
Nov 20 Javascript
eval与window.eval的差别分析
Mar 17 Javascript
20款效果非常棒的 jQuery 插件小结分享
Nov 18 Javascript
表格单元格交错着色实现思路及代码
Apr 01 Javascript
javascript二维数组转置实例
Jan 22 Javascript
JS显示日历和天气的方法
Mar 01 Javascript
js调用父框架函数与弹窗调用父页面函数的简单方法
Nov 01 Javascript
JavaScript中boolean类型之三种情景实例代码
Nov 21 Javascript
jQuery封装placeholder效果实现方法,让低版本浏览器支持该效果
Jul 08 jQuery
快速解决vue在ios端下点击响应延时的问题
Aug 27 Javascript
vue子传父关于.sync与$emit的实现
Nov 05 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
DC《小丑》11项提名领跑奥斯卡 Netflix成第92届奥斯卡提名最大赢家
2020/04/09 欧美动漫
Discuz Uchome ajaxpost小技巧
2011/01/04 PHP
PHP return语句另类用法不止是在函数中
2014/09/17 PHP
PHP数组中头部和尾部添加元素的方法(array_unshift,array_push)
2017/04/10 PHP
Laravel框架路由设置与使用示例
2018/06/12 PHP
php+Ajax处理xml与json格式数据的方法示例
2019/03/04 PHP
精解window.setTimeout()&window.setInterval()使用方式与参数传递问题!
2007/11/23 Javascript
js实现省市联动效果的简单实例
2014/02/10 Javascript
jQuery学习笔记之jQuery构建函数的7种方法
2014/06/03 Javascript
$.each遍历对象、数组的属性值并进行处理
2014/07/18 Javascript
Angular2  NgModule 模块详解
2016/10/19 Javascript
JS实现的简单轮播图运动效果示例
2016/12/22 Javascript
将jquery.qqFace.js表情转换成微信的字符码
2017/12/01 jQuery
swiper移动端轮播插件(触碰图片之后停止轮播)
2017/12/28 Javascript
jquery实现商品sku多属性选择功能(商品详情页)
2019/12/20 jQuery
详解vue v-model
2020/08/31 Javascript
python多线程http下载实现示例
2013/12/30 Python
Python字符串格式化输出方法分析
2016/04/13 Python
在Python中通过threshold创建mask方式
2020/02/19 Python
Keras设置以及获取权重的实现
2020/06/19 Python
python闭包与引用以及需要注意的陷阱
2020/09/18 Python
谷歌浏览器小字体处理方案即12px以下字体
2013/12/17 HTML / CSS
意大利灯具购物网站:Lampade.it
2018/10/18 全球购物
英国最大的自有市场,比亚马逊便宜:Flubit
2019/03/19 全球购物
MediaMarkt比利时:欧洲最大电器连锁店
2020/12/21 全球购物
环境工程与管理大学毕业生求职信
2013/10/02 职场文书
大学生应聘自荐信
2013/10/11 职场文书
简历自我评价怎么写呢?
2014/01/06 职场文书
消防战士优秀事迹材料
2014/02/13 职场文书
学习张林森心得体会
2014/09/10 职场文书
大学生作弊检讨书
2014/09/11 职场文书
党员“四风”方面存在问题及整改措施
2014/09/24 职场文书
升学宴祝酒词
2015/08/11 职场文书
授权协议书范本(3篇)
2019/10/15 职场文书
浅谈JS的原型和原型链
2021/06/04 Javascript
python opencv检测直线 cv2.HoughLinesP的实现
2021/06/18 Python