2015第37周五javascript函数arguments对象巧用一
2015-09-11 22:39
585 查看
Javascript函数的一个巧妙利用:假定action中有一个JSONObject类型的对象data,其值有可能为空,则前台JSP页面的JS代码中想直接通过EL表达式,即${data}的形式访问对象的值,则可能会因为data对象为空导致JS预处理错误,如JSP中有这样的代码,var obj=${data};,则当后台data为null时前台页面会变成var obj=;进而页面报错终止运行。有人想通过类似 var obj=('${data}'==''?{}:${data})来解决,但该代码依旧编译不通过,因为预处理时变成了var obj=(''==''?{}:),直接语法错误,这种情况一般只能通过'${data}'将该值给字符串,然后通过eval()函数或引入第三方json库来转换成json对象,还可以通过下面的函数解决:
function getJsonData(data){
if(arguments.length>0){
return data;
}
return {}
}
var obj = getJsonData(${data});
function getJsonData(data){
if(arguments.length>0){
return data;
}
return {}
}
var obj = getJsonData(${data});
相关文章推荐
- Javascript基础学习小结
- Javascript基本语句
- js的轮播效果
- 漫谈 JavaScript 面向对象编程
- javascript的DOM操作获取元素
- javascript “||”、“&&”的灵活运用
- 如何用自己的js文件加载一些动态数据
- Extjs学习笔记 vtype
- 主流数据技术--JSON数据解析--原生解析
- Javascript数据类型
- javaScript定义对象的方法
- Javascript的逻辑判断和循环的知识点
- 前端面试准备之JavaScript
- ExtJs--02--MessageBox相关弹出窗口alert,prompt,confirm采用
- chrome console js多行输入
- js数据放入cookie、从cookie取cookie
- JS实现仿QQ面板的手风琴效果折叠菜单代码
- JS实现仿Windows7风格的网页右键菜单效果代码
- js 获取昨天、今天、明天的时间
- Jackson 框架,轻易转换JSON