码迷,mamicode.com
首页 > 编程语言 > 详细

JS 语言的Function 解析

时间:2016-09-03 15:05:56      阅读:206      评论:0      收藏:0      [点我收藏+]

标签:

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(){} 

JS 语言的Function 解析

标签:

原文地址:http://www.cnblogs.com/w-wfy/p/5836919.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!