【Function类型】JavaScript中的原生对象以及Microsoft AJAX Library中的相关扩展

Function原生类型(Function原生类型的扩展见实例下方)

• 与Array,String等类型处于同等地位
• 每个方法均为Function类型的实例
 – typeof(Array) == typeof(Function) == “function”
• 方 法调用时根据发起的对象来确定this上下文引用
• Function.prototype.apply(instance, args)
• Function.prototype.call(instance, [ arg1 [ , arg2 [ , … ] ] ])

--------------------------------------------------------------------------------------------------------

实例

html页面

<div id="info"></div>
	<script language="javascript" type="text/javascript">
		function display(text)
		{
			document.getElementById("info").innerHTML += (text + "<br />");
		}
		
		function aMethod()
		{
			var result = this.toString();
			for (var i = 0; i < arguments.length; i++)
			{
				result += (", " + arguments[i]);
			}
			
			return result;
		}
		
		var a = new String("I am string A");
		var b = new String("I am string B");
		a.aMethod = b.aMethod = aMethod;
		
		display("aMethod(): " + aMethod());
		display("a.aMethod(): " + a.aMethod());
		display("b.aMethod(): " + b.aMethod());
		
		display("a.aMethod.call(b, 1, 2, 3): " + a.aMethod.call(b, 1, 2, 3));
		display("b.aMethod.apply(a, [1, 2, 3]): " + b.aMethod.apply(a, [1, 2, 3]));
	</script>


Microsoft AJAX Library中对Function原生类型的扩展

注:要使用扩展需添加ScriptManager控件  如:<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>

 

• Function.createDelegate(instance, method)方法:
 –得到一个方法引用,执行它时则会调用method方法,并且保证method方法的上下文this引用为instance
• Function.createCallback(method, context)方法:
 –得到一个方法引用,执行它时则会调用method方法,并将context作为额外的参数传入

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值