原文:javascript函数值的重写

javascript函数值的重写

定义了一个函数,需要重写这个函数并使用原先的函数值。做法是:

1.定义一个变量让原先函数的值指向它,把原先函数的指向一个新的函数值,在这个函数值中执行原先的函数值。

    function foo(){console.log("foo");}var fooTemp = foo;foo = function(){console.log("begin");fooTemp();console.log("finish");};foo();// begin foo finishfooTemp = 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函数值的重写相关推荐

  1. js执行oracle函数吗,执行javascript函数

    JS--函数 JavaScript 函数语法 函数就是包裹在花括号中的代码块,前面使用了关键词 function: function 函数名([参数]){ 执行的代码: } 当调用该函数时,会执行函数 ...

  2. 前端周报:前端面试题及答案总结;JavaScript参数传递的深入理解

    1.2017前端面试题及答案总结 |掘金技术征文 "金三银四,金九银十",用来形容求职最好的几个月.但是随着行业的饱和,初中级前端er就业形势不容乐观. 行业状态不可控,我们能做的 ...

  3. [置顶]       IE与FireFox的JavaScript兼容问题

    1.动态删除table里的某一行. table:表示table对象. k:表示行号 table.rows[k].removeNode(true); //firefox执行失败,ie执行成功 IE与Fi ...

  4. Emscripten教程之C++和JavaScript绑定(三)

    翻译:云荒杯倾 Embind用于绑定C++函数和类到JavaScript,这样编译代码就能在js中以一种很自然的方式来使用.Embind也支持从C++调JavaScript的class. Embind ...

  5. 回顾javaScript的面向对象继承

    javaScript面向对象继承           由于js不像java那样是真正面向对象的语言,js是基于对象的,它没有类的概念.所以,要想实现继承,可以用js的原型prototype机制或者用a ...

  6. 使用JavaScript更快地嵌入YouTube

    我们希望访问者尽快获取我们的内容,这意味着内容必须轻巧,并且请求数量最少. 但是我们想让用户留在我们的页面上,并得到娱乐. 这是嵌入视频进入场景的地方. 视频说明了我们的文字内容,使生活栩栩如生,并且 ...

  7. 面向对象的 JavaScript:封装、继承与多态

    本文作者:家园工作室研发组成员 @维尔希宁 本文出处: 面向对象的 JavaScript:封装.继承与多态​blog.lenconda.top 本文遵循署名-非商业性使用-禁止演绎3.0 未本地化版本 ...

  8. 使用Ext Form自动绑定Html中的Form元素

    2019独角兽企业重金招聘Python工程师标准>>> Java代码   //把ext 对象绑定在Html Form元素时的ext属性中 Ext.override(Ext.Compo ...

  9. ABP-JavaScript API

    一.AJAX 1,ABP采用的方式 ASP.NET Boilerplate通过用abp.ajax函数包装AJAX调用来自动执行其中的一些步骤. 一个例子ajax调用: var newPerson = ...

最新文章

  1. 在UE4中创建CG动画 How to create a movie in Unreal Engine 4 using Metahuman
  2. 2020年计算机视觉综述论文汇总!涵盖14个方向:目标检测/图像分割/医学影像/人脸识别等方向
  3. 矩形排样 matlab,二维多阶段矩形剪切排样算法(精).pdf
  4. SpringMVC连接多数据源配置
  5. C++总结篇(4)内存管理
  6. mysql 当前timestamp_MySQL表结构使用timestamp以自动获取当前时间
  7. devops_您无法购买DevOps
  8. ES6 Promise - 让我们解开的面纱(遵循Promise/A+规范)
  9. php实现禁止缓存,高手莫来
  10. 单核CPU破解后量子加密候选算法只需一小时
  11. Cobalt Strike小技巧——后台挂起CS服务端
  12. 软件开发量评估法之一---德尔菲评估法
  13. win10怎么查看外接显示器的型号
  14. 360免费wifi的linux驱动下载,360随身wifi驱动
  15. CodeWarrior for S12(X) V5.1 Special详细安装过程
  16. 2016 CCPC东北赛区 简单三少(proA+proC+proE)
  17. word中插入未压缩的原图
  18. CMOS反相器版图设计
  19. spring配置hibernate的sessionFactory
  20. div内图片和文字水平垂直居中

热门文章

  1. 谷歌浏览器删除相同重复无效书签
  2. LeetCode 159. Longest Substring with At Most Two Distinct Characters --Java,C++,Python解法
  3. mysql存储引擎6_Mysql各种存储引擎对比总结
  4. php自动加载和实现方法,php 自动加载方法
  5. Python中的http网络请求,用它就对了
  6. 东田纳西州立大学计算机排名,2019东田纳西州立大学世界排名
  7. 怎么通过ip连接oracle,Oracle 无法通过IP连接问题
  8. 运维监控系统——配置服务监控项(Http,Nginx,MySQL)
  9. linux mysql怎么样_最强Linux和Mysql面试题套餐,让你的面试无懈可击!
  10. python中最常用的映射类型_什么是python中唯一的映射类型