js中eval的使用可以达到java反射功能

javascript中eval的使用可以达到java反射的效果

 

<%
/**********************************************************************
* 工作流附件管理js
* 2016-4-8 许畅 新建
**********************************************************************/
%>
<!DOCTYPE html>
<head>
   <script src='/xxx/js/jquery-1.5.2.min.js'></script>
   
   <script type="text/javascript">
     var webRoot= "<%=pageContext.getAttribute("cuiWebRoot") %>";
    
     $(function() {
    	 //jquery 选择器
         var selector = "attach";
         //附件元素id
         var attachId = $(selector).attr("id");
         
         var attach = new Attachment();
         //附件属性值数组
         var keys = ["id", "frameHeight", "jobTypeCode", "objId", "displayMode", "operateMode", "relateMode",
             "operationRight", "title", "hiddenId", "hrefName", "creatorId", "creatorName", "afterUpload", "afterDelete",
             "afterEditFileName", "isNeeded", "isShowAttachmentType", "showFields", "showExtendAttribute", "icon", "extendClass",
             "extendParam", "dwrUrl", "readOnly", "returnURL", "queryClass", "extendClassify",
             "objectIdList", "attachmentTypeIdList", "attachmentTypeControl"
         ];

         for (var i in keys) {
             var key = keys[i];
             var attr = $(selector).attr(key);
             if (!attr){
                continue;
             }
             var func = "attach.set" + replaceFirstUper(key) + "('"+attr+"');";
             eval(func);
         }
         //生成附件
         attach.setWebRoot(webRoot);
         attach.init(attachId);
     });

     //正则将首字符替换为大写
     var replaceFirstUper = function(str) {
        if(str && str.length>0){
            return str.substring(0,1).toUpperCase()+str.substring(1,str.length);
        }
        return str;
     };
   </script>
</head>

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值