(教程]JScript中的变量引用规则(补充,函数用法说明)(转)

  (教程]JScript中的变量引用规则(补充,函数用法说明)(转)[@more@]

[教程]JScript中的变量引用规则(补充,函数用法说明)由.NET.com/,http
://lostinet.d2g.com”> http://www.lostinet.com/, http://lostinet.d2g.com

  

第一篇:XML http://www.csdn.net/expert/topic/787/787738.xml

">   

我高考语文才496分啊,,惨…现在要说些什么,都不知道…
还是用例子开始吧:不过例子和分析,现在写在一起了。

  

这个只是补充说明,看不看都没有关系。不会的还是看看好:)

  

2.1, -》函数被传递
{- - - - - - {- - - - - - {- - - - - - {- - - - - - {- - - - - - {- - - - - - {- - - - - - {- - - - - - {- - - - - - {- - - - - - {- - - - - - {- - - - - - {- - - - - - {- - - - - - {- - - - - - {- - - - - -
var func=function(){警报(“ok”)};
函数CallFunc (f)
{
, f ();}

CallFunc(函数),
- - -} - - -} - - -} - - -} - - -} - - -} - - -} - - -} - - -} - - -} - - -} - - -} - - -} - - -} - - -} - - -}
一般的应用中,传递函数是很少见的。但是对于很多动态的应用,传递函数就很正常了。
这个例子,函数是一个函数.CallFunc(函数)时,把函数传递给CallFunc中的f
所以在
函数CallFunc (f)
{
, f ();}

中,f是一个函数,所以调用f()是可以的。实际上就是调用函数(){警报(“ok”)};

  

2.2, -》函数作为方法
{- - - - - - {- - - - - - {- - - - - - {- - - - - - {- - - - - - {- - - - - - {- - - - - - {- - - - - - {- - - - - - {- - - - - - {- - - - - - {- - - - - - {- - - - - - {- - - - - - {- - - - - - {- - - - - -
var obj={};//var obj=新对象();
obj.value=https://www.yisu.com/zixun/14;
var func=function(数量){警报(this.value +数量)};obj.alert=函数;

obj.alert (25);
- - -} - - -} - - -} - - -} - - -} - - -} - - -} - - -} - - -} - - -} - - -} - - -} - - -} - - -} - - -} - - -}

  

这个例子,说明了函数作为一个对象的方法,是怎样使用的。
这是一个特殊的变量,它是一个参数。
当执行obj.alert(25)时,
其实是执行函数(数量){警报(this.value +数量)};
而这个过程中obj也传递过去了,化身为。
这个过程大家都比较了解,所以也不多说了。
要执行对象的方法,只有两个途径:
一:obj.method();,必须有一个“。”的存在。
二:func.apply (obj, args) func.call (obj, __arg1最长…),这个需要JScript5.5的支持。

  

2.3, -》函数作为方法,2
{- - - - - - {- - - - - - {- - - - - - {- - - - - - {- - - - - - {- - - - - - {- - - - - - {- - - - - - {- - - - - - {- - - - - - {- - - - - - {- - - - - - {- - - - - - {- - - - - - {- - - - - - {- - - - - -
var obj={};//var obj=新对象();
obj.value=https://www.yisu.com/zixun/14;
var func=function(数量){警报(this.value +数量)};obj.alert=函数;

的var方法=obj.alert
方法(4);
- - -} - - -} - - -} - - -} - - -} - - -} - - -} - - -} - - -} - - -} - - -} - - -} - - -} - - -} - - -} - - -}

  

为什么显示南呢?
虽然方法=obj.alert,但是传递的,却只是obj(“警告”)本身,即func
所以在执行函数中,没有隐含的对象传过去给这个
没有被赋值,在IE中默认是窗口,在其他变量空间就依赖有这样的空间来判断

  

2.4, -》函数作为对象使用。
{- - - - - - {- - - - - - {- - - - - - {- - - - - - {- - - - - - {- - - - - - {- - - - - - {- - - - - - {- - - - - - {- - - - - - {- - - - - - {- - - - - - {- - - - - - {- - - - - - {- - - - - - {——aaa ()

函数{
,警报(这);}

函数aaa.bbb ()
{
,警报(这);}

var func=function () {};
func.bbb=aaa;
func.bbb ();
func.bbb.bbb ();
- - -} - - -} - - -} - - -} - - -} - - -} - - -} - - -} - - -} - - -} - - -} - - -} - - -} - - -} - - -} - - -}
我没有精神了,你自己理解吧. .

  


2.5, -》函数作为对象使用2。
{- - - - - - {- - - - - - {- - - - - - {- - - - - - {- - - - - - {- - - - - - {- - - - - - {- - - - - - {- - - - - - {- - - - - - {- - - - - - {- - - - - - {- - - - - - {- - - - - - {- - - - - - {- - - - - -
函数func () {};
函数func.a(){返回“a”};
函数func.b(){返回“b”};
函数func.c(){返回“c”};
对我在func (var)警报(func(我)());
- - -} - - -} - - -} - - -} - - -} - - -} - - -} - - -} - - -} - - -} - - -} - - -} - - -} - - -} - - -} - - -}

  

2.6,调用者——》
{- - - - - - {- - - - - - {- - - - - - {- - - - - - {- - - - - - {- - - - - - {- - - - - - {- - - - - - {- - - - - - {- - - - - - {- - - - - - {- - - - - - {- - - - - - {- - - - - - {- - - - - - {- - - - - -
函数Func ()
{
,警报(Func.caller);}

函数CallFunc ()
{
,警报(CallFunc.caller);
, Func ();}

CallFunc ();

(教程]JScript中的变量引用规则(补充,函数用法说明)(转)