浅谈重写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 相关文章推荐
Div Select挡住的解决办法
Aug 07 Javascript
JS对URL字符串进行编码/解码分析
Oct 25 Javascript
JSON 客户端和服务器端的格式转换
Aug 27 Javascript
一步一步制作jquery插件Tabs实现过程
Jul 06 Javascript
网页前端优化之滚动延时加载图片示例
Jul 13 Javascript
JS的get和set使用示例
Feb 20 Javascript
vue监听input标签的value值方法
Aug 27 Javascript
微信小程序五子棋游戏的悔棋实现方法【附demo源码下载】
Feb 20 Javascript
vue excel上传预览和table内容下载到excel文件中
Dec 10 Javascript
js实现右键弹出自定义菜单
Sep 08 Javascript
JavaScript常用8种数组去重代码实例
Sep 09 Javascript
vue实践---vue不依赖外部资源实现简单多语操作
Sep 21 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聊天室技术
2006/10/09 PHP
攻克CakePHP系列一 连接MySQL数据库
2008/10/22 PHP
PHP使用GIFEncoder类生成的GIF动态图片验证码
2014/07/01 PHP
php利用反射实现插件机制的方法
2015/03/14 PHP
php为字符串前后添加指定数量字符的方法
2015/05/04 PHP
php 读写json文件及修改json的方法
2018/03/07 PHP
PHP中in_array的隐式转换的解决方法
2018/03/06 PHP
浅谈Laravel核心解读之Console内核
2018/12/02 PHP
css动画效果之animation的常用样式
2021/03/09 HTML / CSS
JavaScript入门教程(1) 什么是JS
2009/01/31 Javascript
Javascript 键盘keyCode键码值表
2009/12/24 Javascript
javascript的创建多行字符串的7种方法
2014/04/29 Javascript
javascript随机之洗牌算法深入分析
2014/06/07 Javascript
使用jQuery实现input数值增量和减量的方法
2015/01/24 Javascript
javascript设计简单的秒表计时器
2020/09/05 Javascript
jQuery抛物线运动实现方法(附完整demo源码下载)
2016/01/08 Javascript
jquery Deferred 快速解决异步回调的问题
2016/04/05 Javascript
jQuery Ajax传值到Servlet出现乱码问题的解决方法
2016/10/09 Javascript
Bootstrap路径导航与分页学习使用
2017/02/08 Javascript
JavaScript中闭包的详解
2017/04/01 Javascript
JS实现按钮颜色切换效果
2020/09/05 Javascript
浅谈Vue的加载顺序探讨
2017/10/25 Javascript
基于vue中css预加载使用sass的配置方式详解
2018/03/13 Javascript
layui复选框的全选与取消实现方法
2019/09/02 Javascript
使用nodeJS中的fs模块对文件及目录进行读写,删除,追加,等操作详解
2020/02/06 NodeJs
微信小程序实现选项卡滑动切换
2020/10/22 Javascript
linux系统使用python监测网络接口获取网络的输入输出
2014/01/15 Python
pandas中去除指定字符的实例
2018/05/18 Python
python 爬虫一键爬取 淘宝天猫宝贝页面主图颜色图和详情图的教程
2018/05/22 Python
Python SMTP发送邮件遇到的一些问题及解决办法
2018/10/24 Python
解决在Python编辑器pycharm中程序run正常debug错误的问题
2019/01/17 Python
python 实现控制鼠标键盘
2020/11/27 Python
纪伊国屋泰国网上书店:Kinokuniya泰国
2017/12/24 全球购物
英国顶级珠宝品牌之家:John Greed
2018/06/09 全球购物
大学生社会实践自我鉴定
2014/03/24 职场文书
中国在我心中演讲稿
2014/09/13 职场文书