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. 上記 4 つの状況の混合適用:
var class=new function(){
var privateArg;//Static private 変数
function privateMethod=function(){} ;//静的プライベート メソッド
return function(){/*実際のコンストラクタ*/};};
6. ajax から返された js スクリプトを処理するには:
var ajax_js_code=
"{a:'a' ,'b':'b','func':function(){alert('abc')}}"
// これを仮定しますサーバーから返された応答テキストです。
ajax_js_code=
"return " ajax_js_code ;
//コードの本体を再構築します。必要に応じてさまざまな再構築方法があります。
var ajax_exec=new Function( ajax_js_code);
var result=ajax_exec();
alert(result.a " :" result.b);このように関数を構築する方法: var func=new Function(args1,args2,args3,..., body) args: パラメータ (任意の数); body: function body
例: var func=new Function(" arg1","arg2","alert(arg1 ':' arg2)"); func("ooo ","ppp");
戻りコードの形式は次のとおりであることに注意してください。処理原理に応じて、いくつかの戻り形式があります:
1.(function(){//code})()
2.{a:"abc",func:function){}}//Hash table
3.function(){}
上記の 3 つはほとんどのコードを処理できるはずです。