JS 语言的Function 解析

1.最基本的作为一个本本分分的函数声明使用。 

复制代码代码如下:

function func(){} 
或 
var func=function(){}; 


2.作为一个类构造器使用: 

复制代码代码如下:

function class(){} 
class.prototype={}; 
var item=new class(); 


3.作为闭包使用: 

复制代码代码如下:

(function(){ 
//独立作用域 
})(); 


4.可以作为选择器使用: 

复制代码代码如下:

var addEvent=new function(){ 
if(!-[1,]) return function(elem,type,func){attachEvent(elem,'on'+type,func);}; 
else return function(elem,type,func){addEventListener(elem,type,func,false);} 
};//避免了重复判断 


5.以上四中情况的混合应用: 

复制代码代码如下:

var class="new" function(){ 
var privateArg;//静态私有变量 
function privateMethod=function(){};//静态私有方法 
return function(){/*真正的构造器*/};}; 


6.利用Function处理ajax返回的js脚本: 

复制代码代码如下:

var ajax_js_code= 
"{a:'a','b':'b','func':function(){alert('abc')}}"; 
//假设此为服务器返回responseText 
ajax_js_code= 
"return "+ajax_js_code; 
//重构代码主体,根据需要可以有不同重构方法 
var ajax_exec=new Function(ajax_js_code); 
var result=ajax_exec(); 
alert(result.a+":"+result.b); 
result.func(); 


这种构建函数方式:var func=new Function(args1,args2,args3,...,body) args:参数(任意多个); body:函数主体 
如:var func=new Function("arg1","arg2","alert(arg1+':'+arg2)"); func("ooo","ppp"); 
应注意的是,注意返回代码的格式,根据处理原理返回形式可有一下几种: 

复制代码代码如下:

1.(function(){//代码})() 
2.{a:"abc",func:function){}}//散列表 
3.function(){} 
posted @ 2016-09-03 14:12  wwfy  阅读(338)  评论(0编辑  收藏  举报