zoukankan      html  css  js  c++  java
  • 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(){} 
  • 相关阅读:
    linux 下的mysql
    linux历史命令,索引与键
    root用户删除恢复,mysql二进制及源码安装,mysql关闭,重启,开启命令
    pip3换源,grep,sed ,awk 三剑客,通配符,linux运行django项目
    软硬连接,find命令date命令,du大文件, tar zip压缩解压命令,
    微服务 架构 php+go
    go 优秀 博客文档
    go-001[常用命令]
    go 0000
    web 安全:
  • 原文地址:https://www.cnblogs.com/w-wfy/p/5836919.html
Copyright © 2011-2022 走看看