javascript的函数

2019-06-03 07:56:18丽君


Example 5: 


[Copy to clipboard]CODE:
function myFunction() 

  alert(myFunction.message);
}
myFunction.message="old";
var ptr1=myFunction;                 // ptr1 指向 myFunction
var ptr2=myFunction;                 // ptr2 也指向 myFunction

ptr1();                     // 输出 "old"
ptr2();                              // 输出 "old"

myFunction.message="new";

ptr1();                     // 输出 "new"
ptr2();                              // 输出 "new"

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

Example 6: 


[Copy to clipboard]CODE:
function myFunction() 

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

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


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

Example 6A: 


[Copy to clipboard]CODE:
function myFunction() 

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



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

Example 6B: 


[Copy to clipboard]CODE:
function myFunction() 

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