javascript函数值的重写
javascript函数值的重写
定义了一个函数,需要重写这个函数并使用原先的函数值。做法是:
1.定义一个变量让原先函数的值指向它,把原先函数的指向一个新的函数值,在这个函数值中执行原先的函数值。
function foo(){
console.log("foo");
}
var fooTemp = foo;
foo = function(){
console.log("begin");
fooTemp();
console.log("finish");
};
foo();// begin foo finish
fooTemp = null;
foo();// begin Uncaught TypeError: fooTemp is not a function
2.这样的做法可能不安全,定义的临时函数可能会在后面的内容中被修改,所以把它放在一个立刻执行的函数中执行。
function foo(){
console.log("foo");
}
(function(){
var fooTemp = foo;
foo = function(){
console.log("begin");
fooTemp();
console.log("finish");
};
})();
foo(); // begin foo finish
3.函数parseInt在之传入一个参数的情况下,如果传入的字符串首位是0且次位不是x,若IE8就会用八进制解析,所以要重写parseInt。
alert(parseInt("09"));//IE8:0, Chrome:9
(function(){
var parseIntTemp = parseInt;
parseInt = function(str){
return parseIntTemp(str, 10);
};
})();
alert(parseInt("09")); // IE8:9, Chrome:9
雨木阳子
2015年10月13日
Javascript_FunctionValue_Override
javascript函数值的重写的更多相关文章
- JavaScript学习总结(三)——this、原型、javascript面向对象
一.this 在JavaScript中this表示:谁调用它,this就是谁. JavaScript是由对象组成的,一切皆为对象,万物皆为对象.this是一个动态的对象,根据调用的对象不同而发生变化, ...
- ABP理论学习之Javascript API(理论完结篇)
返回总目录 本篇目录 Ajax Notification Message UI block和busy 事件总线 Logging 其他工具功能 说在前面的话 不知不觉,我们送走了2015,同时迎来了20 ...
- JavaScript函数劫持
一.为什么我会写这篇文章 这篇文章其实是在一个偶然的机会下发现了居然有JavaScript劫持这种东西,虽然这种东西在平时用的比较少,而且一般实用价值不高,但是在一些特殊的情况下还是要使用到的,所以在 ...
- ABP+AdminLTE+Bootstrap Table权限管理系统第七节--登录逻辑及abp封装的Javascript函数库
经过前几节,我们已经解决数据库,模型,DTO,控制器和注入等问题.那么再来看一下登录逻辑.这里算是前面几节的一个初次试水. 首先我们数据库已经有的相应的数据. 模型和DTO已经建好,所以我们直接在服务 ...
- 前端周报:前端面试题及答案总结;JavaScript参数传递的深入理解
1.2017前端面试题及答案总结 |掘金技术征文 "金三银四,金九银十",用来形容求职最好的几个月.但是随着行业的饱和,初中级前端er就业形势不容乐观. 行业状态不可控,我们能做的 ...
- ABP+AdminLTE+Bootstrap Table权限管理系统第七节--登录逻辑及几种abp封装的Javascript函数库
返回总目录:ABP+AdminLTE+Bootstrap Table权限管理系统一期 简介 经过前几节,我们已经解决数据库,模型,DTO,控制器和注入等问题.那么再来看一下登录逻辑.这 ...
- JavaScript学习总结(四)——this、原型链、javascript面向对象
一.this 在JavaScript中this表示:谁调用当前函数this就指向谁,不知道调用者时this指向window. JavaScript是由对象组成的,一切皆为对象,万物皆为对象.this是 ...
- 重写alert方法完成类似gmail的友好提示
当在网页中调用aelrt()方法的时候,系统会自动显示友好的提示方式 . 下面是css样式控制代码: /*----------------------------------------------- ...
- JavaScript mixins
mixin 是一个类,该类的方法被添加,混合进另外一个类.一个基础类会包含mixin类的方法而不是继承它.这样你就可以使用不同的mixin类来增加或者增强基础类的功能. 这编内容包含怎么样使用java ...
随机推荐
- FastReport.net 使用记录
FastReport.net 打印设计功能非常强大,打印内容可以自己设计.数据源可以来至许多个表,打印设计后的表格数据是以二进制保存在数据库中的. 1.打印设计: private void Desi ...
- python操作 redis-list
#!/usr/bin/python #!coding: utf-8 import redis if __name__=="__main__": try: conn=redis.St ...
- python 序列类型
1.不可变的序列类型:tuple.range.str.set 001:对于tuple 类型有如下几种构造方式 1.() 构造一个空的元组. 2.a | (a,) 构造一个只有一个元素的元组. 3.tu ...
- XML的DTD约束
DTD约束:DTD的声明和引用 1.内部DTD文档 <!DOCTYPE 根元素 [定义内容]> 2.外部DTD文档 <!DOCTYPE 根元素 SYSTEM "DTD文件路 ...
- javascript的层次
1.功能api 2.代码organization 3.performance 4.work flow
- wafer
Wafer Dicing:晶圆划片 wafer:晶圆 Wafer bumping:晶圆凸起 300mm wafer line:300mm晶圆线 wafer fabrication:晶圆加工 silic ...
- 【C++第二课】---C到C++的函数升级
C++中对C语言在函数使用方面做了很大的升级 一﹑内联函数 1.C++中推荐使用内联函数来替代宏片段代码 2.C++中使用关键字inline声明内联函数 例如: inline int func(int ...
- 消息队列接口API(posix 接口和 system v接口)
消息队列 posix API 消息队列(也叫做报文队列)能够克服早期unix通信机制的一些缺点.信号这种通信方式更像\"即时\"的通信方式,它要求接受信号的进程在某个时间范围内对信 ...
- getgrent
http://baike.baidu.com/link?url=JNyoNvukL-LP7ayYlNNWLv2gPOzn-bjiwuX1CE_QwUTyrRGCWu4NhDW-JznHQoG4aIfw ...
- Seeding(dfs)
Seeding Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other) Total Submi ...