JS方法重写

摘要:
“);}首次引入如下所示:JScriptcodefunctionfnTest(){alert(”showfirst!“我们先不解释它。让我们看看下面的示例:HTMLcode<!这很容易理解,因为浏览器按顺序进行解析,第一个创建的fnTest(()被后来创建的fnTest()覆盖。那么为什么?让我们看看第二点:2。javascript方法实际上是对JScriptcodefunctionfnTest(){alert(“showfirst!')”)的引用;最后,它被称为last。首先创建的方法不会被调用。您得到的是showmesecond!

from http://www.cnblogs.com/aooyu/archive/2009/12/11/1621904.html


1.HTML的是被浏览器按顺序解析的,那么我们看下面的例子 

HTML code
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><script type="text/javascript" src="1.js"/><script type="text/javascript">function fnTest(){ alert("show me second!"); } </script></head><body><input type="button" value="clickMe" onclick="fnTest()"/></body></html>


先引入了 <script type="text/javascript" src="http://t.zoukankan.com/1.js"/>如下: 

JScript code
function fnTest(){ alert("show me first!"); }


这时点击clickMe弹出的是show me second!先不说明. 
我们再看下面的例子:
 

HTML code
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><script type="text/javascript">function fnTest(){ alert("show me second!"); } </script><script type="text/javascript" src="1.js"/></head><body><input type="button" value="clickMe" onclick="fnTest()"/></body></html>


<script type="text/javascript" src="http://t.zoukankan.com/1.js"/>作为后来引入的,如下: 

JScript code
function fnTest(){ alert("show me first!"); }


这时点击clickMe弹出的是show me first! 
这个很好理解,因为浏览器按顺序解析的,先创建的fnTest()就被后创建的fnTest()覆盖了.那么这是为什么呢?我们来看第二点: 
2.javascript方法其实是个引用 

JScript code
function fnTest(){ alert("show me first!"); } //相当于:var fnTest =new Function("alert('show me first!')"); function fnTest(){ alert("show me second!"); } //相当于:var fnTest =new Function("alert('show me second!')"); //那么结果是:var fnTest =new Function("alert('show me first!')"); var fnTest =new Function("alert('show me second!')");


最后就是按靠后调用的.先创建的方法将不被调用.得到的是show me second!

免责声明:文章转载自《JS方法重写》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇微信开发-内网穿透Qemu虚拟机 玩树莓派最新版系统 (截止2017-04-10)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

js各种间距数据汇总

clientX,offsetX,screenX,pageX区别 先总结下区别: event.clientX、event.clientY 鼠标相对于浏览器窗口可视区域的X,Y坐标(窗口坐标),可视区域不包括工具栏和滚动条。IE事件和标准事件都定义了这2个属性 event.pageX、event.pageY 类似于event.clientX、event.cl...

Web Worker javascript多线程编程(一)

什么是Web Worker? web worker 是运行在后台的 JavaScript,不占用浏览器自身线程,独立于其他脚本,可以提高应用的总体性能,并且提升用户体验。 一般来说Javascript和UI页面会共用一个线程,在HTML页面中执行js脚本时,页面的状态是不可响应的,直到脚本已完成。而这段代码可以交给Web Worker在后台运行,那么页面在...

18款适用于开发人员的网页代码编辑器 狼人:

  本文介绍18款极具价值的网页代码编辑器。 1.Codeanywhere Codeanywhere是运行在浏览器上的代码编辑器,内嵌一个强大的FTP客户端。目前支持多数流行的网页格式(HTML、PHP、JavaScript、CSS和XML)。 Codeanywhere支持编辑多种类型的文件,集成了桌面编辑器中所有好的特征:高亮显示语法、自动填充代码、智...

Javascript实现页面内元素添加滚动条

无需多言,直接上代码,高度超过时自动显示滚动条,不超过高度时隐藏滚动条。 <!DOCTYPE html> <html> <head> <meta charset=utf-8 /> <title>JS Bin</title> <style> article, aside,...

JavaScript学习笔记及知识点整理_1

一.js的基础部分 1.==和===的区别:==在判断是否相等的时候会进行类型转换,有时会得到非常奇怪的结果,因此一般情况下都是用===判断是否相等2.strict模式:在js中,如果一个变量没有用var进行声明,那么这个变量将会变成全局变量.采用strict模式声明后,如果该变量没有用var声明,那么将会报错!采用strict模式的方法是在js的第一行加...

requireJS的使用_API(1)

之前有介绍过requireJS(模块化开发),可以看看 ,但是不详细,所以今天参考官网来详细介绍一下: 1.加载js文件: RequireJS的目标是鼓励代码的模块化,它使用了不同于传统<script>标签的脚本加载步骤。可以用它来加速、优化代码,但其主要目的还是为了代码的模块化。它鼓励在使用脚本时以module ID替代URL地址。 Requ...