网络编程
位置:首页>> 网络编程>> JavaScript>> 教程javascript的function(函数)(4)

教程javascript的function(函数)(4)

作者:子乌 来源:蓝色理想 发布时间:2007-09-30 13:38:00 

标签:function,函数

指针的指向

我们能够在一个函数创建之后重新分配它,但是我们需要指向函数对象本身,而不是指向它的指针。在下例中,我将改变myfunction()的内容。

Example 6:

CODE:

function myFunction()
{
  alert("Old");
}
myFunction(); // 输出 "Old"
myFunction=function()
{
  alert("New");
};
myFunction(); // 输出 "New"


旧函数哪里去了??被抛弃了。

如果我们需要保留它,我们可以在改变它之前给它分配一个指针。

Example 6A:

CODE:

function myFunction()
{
  alert("Old");
}
var savedFuncion=myFunction;
myFunction=function()
{
  alert("New");
};
myFunction();    // 输出 "New"
savedFuncion();  // 输出 "Old"


不过要小心,象下面这样的例子并不会有作用,因为是创建了另一个叫做myFunctionPtr的函数而不是修改它。

Example 6B:

CODE:

function myFunction()
{
  alert("Old");
}
var savedFunc=myFunction;
savedFunc=function()
{
  alert("New");
};
myFunction();            // 输出 "Old"
savedFunc();             // 输出 "New"


内嵌函数

我们还能够在一个函数中嵌套一个函数。下例,我有一个叫做getHalfOf的函数,而在它里面,我有另一个叫做calculate的函数。

Example 7

CODE:

function getHalfOf(num1, num2, num3)    
{
  function calculate(number)
  {
    return number/2;
  }

  var result="";
  result+=calculate(num1)+" ";
  result+=calculate(num2)+" ";
  result+=calculate(num3);
}        
var resultString=getHalfOf(10,20,30);
alert(resultString);         // 输出 "5 10 15"


你只能在内部调用嵌套的函数。就是说,你不能这么调用:getHalfOf.calculate(10),因为calculate只有当外部函数(getHalfOf())在运行的时候才会存在。这和我们前面的讨论一致(函数会被编译,但只有当你去调用它的时候才会执行)。

0
投稿

猜你喜欢

  • 给网页添加打印按钮,除了打印之外,还有页面设置、打印预览、复制本文链接到剪贴板等网页基本应用。正象我在图中标注的,大部分按钮只能适用于IE浏
  • 今年4月,我在宿舍憋出一个拖拽翻页效果原本是为自己的博客网站设计的,周二产生的灵感,周三周四逃课两天算坐标,周五回家,到傍晚才算写出了第一版
  • 聚集索引,数据实际上是按顺序存储的,数据页就在索引页上。就好像参考手册将所有主题按顺序编排一样。一旦找到了所要搜索的数据,就完成了这次搜索,
  • 这个只是一个简单的比较无聊的尝试,类似blog等一些网站的换肤功能都是以此方式改变网站的皮肤。对于这些方法大家会的比较多,没啥说的。主要我是
  •   [1]好好规划自己的路,不要跟着感觉走!根据个人的理想决策安排,绝大部分人并不指望成为什么院士或教授,而是希望活得滋
  • 当我们的文章表中没有对于文章的评论数字段时,我们该这么写sql语句来显示出评论最多的文章呢?下面本站给大家收集了几种方法,仅供参考:1.se
  • 原理:建一个栈,每次碰到一个新标签,就与栈顶的标签配对,如果配对,栈顶的标签就出栈,如果不配对,这个新标签就进栈,最终,栈如果是空的,说明所
  • 古巴比伦王颁布了汉摩拉比法典,刻在黑色的玄武岩,距今已经三千七百多年,你在橱窗前…熟悉吧?没错,这就是周董的爱在西元前歌词。前不久工作不是很
  • 测试需求 为了更好的测试你的ASP程序,你首先需要决定你的程序将来需要面对多大的压力。简单的说,压力或负载可以分解成以下数字:· 最低用户数
  • 如果您刚刚开始接触网页设计,是不是经常发生这样的问题呢?做好的网页在自己机器上可以正常浏览,而把页面传到服务器上就总是出现看不到图片,css
  • 首先,建立一个Conn的连接对象,然后连接到数据库data.mdb中,取得连接句柄后,把它保存在session("conn&quo
  • 虽然淘宝商城的名字中带有“商城”两字,但是很显然的,淘宝商城并不是一个B2C商城,淘宝商城仍只是一个C2C平台,充其量只是个收费版的淘宝。在
  • zhanglunray 问:我在mzzx_pic这个层设置了左边距,在ie里显示是正常的,但是在ff里显示时margin-left却没有起到
  • 读取binlog,方法有二:1.使用mysqlbinlog,详细用法,请参考MySQL手册2.使用MySQL的自带工具,SHOW BINLO
  • CSS文件的链接方式·附加链接:外部CSS文件·导入CSS:常用应用多个CSS文件时,将多个CSS导入一个CSS文件中CSS规则定义有三种:
  • 本文将介绍PHP中单引号和双引号的区别。PHP中单引号和双引号简介在 PHP 中,我们使用引号来指定值是字符串文字。有两种不同类型的报价。它
  • 当我们使用访问一个没有声明的变量时,JS会报错;而当我们给一个没有声明的变量赋值时,JS不会报错,相反它会认为我们是要隐式申明一个全局变量。
  • --利用T-SQL语句,实现数据库的备份与还原的功能 ----体现了SQL Server中的四个知识点: ----1. 获取SQL Serv
  • 如果 select 元素下的所有 option 元素均没有指定 selected 属性,会默认选中第一个。可以通过 select.selec
  •  见以下两个文件:showimage.asp Change the HTTP header
手机版 网络编程 asp之家 www.aspxhome.com