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的应用的更多相关文章

  1. JS 关于(function( window, undefined ) {})(window)写法的理解

    JS 关于(function( window, undefined ) {})(window)写法的理解 [网络整理] (function( window, undefined ) {})(windo ...

  2. js小记 function 的 length 属性

    原文:js小记 function 的 length 属性 [1,2,3]., ,这个略懂js的都知道. 但是  eval.length,RegExp.length,"".toStr ...

  3. js中function的与众不同

    js中function的与众不同在于可以被调用

  4. JS里面function和Function的区别

    js里Function 与 function的不一样的,不仅仅是大小写的问题. 简单点说:大写的Function是一个类 ,而小写的function是一个对象. Function是一个构造器,func ...

  5. js arrow function return object

    js arrow function return object bug filterData: { type: Object, default: () => {}, required: true ...

  6. how to remove duplicates of an array by using js reduce function

    how to remove duplicates of an array by using js reduce function ??? arr = ["a", ["b& ...

  7. js currying function All In One

    js currying function All In One js 实现 (5).add(3).minus(2) 功能 例: 5 + 3 - 2,结果为 6 https://stackoverflo ...

  8. Js函数function基础理解

    正文:我们知道,在js中,函数实际上是一个对象,每个函数都是Function类型的实例,并且都与其他引用类型一样具有属性和方法.因此,函数名实际上是指向函数对象的指针,不与某个函数绑定.在常见的两种定 ...

  9. js中function函数

    function:是具备某个功能的方法,方法本身没有意义,只有执行方法才有价值. function: 1 创建一个函数: 2 执行这个方法: 例: 创建 function 方法名(){ 存放某个功能的 ...

  10. js中function参数默认值

    --在dreamweaver做网站时,函数定义是在一个*.js文件中,其中定义了一个func,有四个参数,function func(string1,url,flag,icon),然后在另一个asp中 ...

随机推荐

  1. BZOJ 3721: PA2014 Final Bazarek

    3721: PA2014 Final Bazarek Time Limit: 20 Sec  Memory Limit: 128 MBSubmit: 645  Solved: 261[Submit][ ...

  2. 【BZOJ-3653】谈笑风生 DFS序 + 可持久化线段树

    3653: 谈笑风生 Time Limit: 20 Sec  Memory Limit: 512 MBSubmit: 628  Solved: 245[Submit][Status][Discuss] ...

  3. springMVC-错误消息的显示和国际化

    显示:在页面添加<form:errors path="*">会把错误消息集中显示在一块 在页面添加<form:errors path="lastname ...

  4. 【bzoj2654】 tree

    http://www.lydsy.com/JudgeOnline/problem.php?id=2654 (题目链接) 题意 给你一个无向带权连通图,每条边是黑色或白色.让你求一棵最小权的恰好有nee ...

  5. wpf listview 换行

    <ListView  Name="listView1" VerticalAlignment="Top" Height="600" Ma ...

  6. poj 1269 线段相交/平行

    模板题 注意原题中说的线段其实要当成没有端点的直线.被坑了= = #include <cmath> #include <cstdio> #include <iostrea ...

  7. Windows Sqlserver Automatic Log Audit Via C/C++

    catalog . 数据库日志审计产品 . Mysql日志审计 . SQLServer日志审计 1. 数据库日志审计产品 Relevant Link: http://enterprise.huawei ...

  8. static和public的区别

    static:静态.   可以设置:静态类.静态变量.静态方法.   没有使用static修饰的成员为实例成员. 静态成员的使用:通过类名.   1.不加static修饰的成员是对象成员,归每个对象所 ...

  9. IDEA新建MAVEN项目时速度缓慢

    原因 IDEA根据maven archetype的本质,其实是执行mvn archetype:generate命令,该命令执行时,需要指定一个archetype-catalog.xml文件. 该命令的 ...

  10. django写的留言板

    代码见 https://github.com/linux-wang/show-me-the-code/tree/master/dj_test 实际上是 https://github.com/linux ...