还说JSON与闭包函数何其重要

//非匿名类的直接应用:

new (function Car(name,speed){
	this.name = name;
	this.speed = speed;	
	this.showInfo = function(){
	document.write("The car\'s name is " + this.name + ",and its speed is " + this.speed);	
}
})("宾利",230).showInfo();

//匿名类1:

new (function(name){
	this.demo = function(){
		alert(name);	
	}
})("john").demo();


//匿名类2含方法指针:

({
	name:"fbi",
	getInfo:function(){
		document.write(this.name);	
	}
}).getInfo();

//注意json格式的方法双引号,原则上json键值对的值是不能包含指针
//除非使用类似下面的方式:加上小括号
//eval("(function(name){document.write(name);})")("LESS");

({
	"name":"swat",
	"getInfo":function(){
		document.write(this.name);	
	}
}).getInfo();

window.eval(({
	"name":"CIA",
	//闭包处理1,但是下面的this将不再是json匿名对象本身,因为它使用了window的eval将字符串实例化,所以this代表了window对象。
	//因此我们可以认为json格式是无法返回带方法的对象格式的,除非使用原始匿名类格式,万不可使用双引号的json格式包含。
	"getInfo":"(function(name){document.write(name);alert(this);})",
}).getInfo)("SASS");

({
	"name":"CIA",
	//闭包处理1,
	//"getInfo":new function(name){document.write(name)}('csdn'),
	//经过new function得到的将是一个新的Objective对象,所以下面的this将是一个全新的Objective对象。与JSON对象本身无关。即获取不到CIA这个名字。
	"getInfo":new function(name){alert(this)}("Demo"),
}).getInfo;


//闭包函数处理:

(function(name){
	this.demo = function(){
		alert(name);	
	}
	return demo;
})("john")();

//还是闭包函数形式:

(function(){
	document.write("Hi,Mr Jiang");	
})();

/* 与Jquery很相似的闭包处理,只不过是Jquery滞后自动加载后面的小括号运行而已。足见闭包何其重要!
$(function(){
	
});
*/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值