原文: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

最新文章

  1. Maven的POM.xml配置大全
  2. winform里操作打开在panel里的form窗体,子窗体操作同级子窗体或者父窗体的方法
  3. Linux 搭建Nexus
  4. BI软件搞不定业务管理报表的需求
  5. DB2 函数大全
  6. 自定义TabBarController报错 - Unbalanced calls to begin/end appearance transitions for <>
  7. Oracle 动态视图6 V$PROCESS
  8. POJ 1269 Intersecting Lines(几何)
  9. poj2774 Long Long Message(后缀数组)
  10. RGB HSV HLS三种色彩模式转换(C语言实现)
  11. SQL SERVER中的流程控制语句
  12. 【小技巧】C#的saveFileDialog和openFileDialog的用法总结
  13. js时间戳和日期字符串相互转换
  14. 51nod 1231 记分牌
  15. cf1153E 二分思维交互
  16. JavaSE核心之一:Date类、Calendar类、Math类、枚举;
  17. UEditor百度编辑器,工具栏自定义添加一个普通按钮
  18. js 二分搜索树删除子节点
  19. 关于执行findbugs,checkstyle,jacoco插件检测代码,GitHook的脚本编写
  20. SQL注入之Sqli-labs系列第二十四关(二阶注入)

热门文章

  1. ASP.net与SQLite数据库通过js和ashx交互(连接和操作)
  2. A/B的困扰
  3. Seafile 推出 “分布式文件同步技术” 打造的私有云服务
  4. QT:使用“状态模式”绘制界面
  5. 启动Tomcat的几种方式
  6. JIRA官方:为什么要用JIRA?
  7. JqueryeasyUI选项卡选择判定更改内部Iframe地址
  8. linux之SQL语句简明教程---DROP TRUNCATE
  9. poj 1157 LITTLE SHOP_简单dp
  10. pushMeBaby,github链接