EL表达式在JS中使用时有无双引号的区别

两种情况 一种是字符,一种是数字

字符:

后台type值为“你好nice”,如果是var type = ${type}
则响应到浏览器的源码为 var type = 你好nice
是错误的js格式,所以EL表达式的取值如果是字符串的话必须加引号
var type = "${type}" 就会被解析为var type = "你好nice"

数字

如果是数字的话引号可加可不加,要注意一点如果是以0开头的会被JS当做八进制进行转化
比如后台type值为"011", var type = ${type} 值就是9
所以不管是什么值 EL表达式都加引号最好

今天遇到的问题就坑在了数字上,后台的值是0000开头的,返回到浏览器就完全是另一个值了┭┮﹏┭┮

已标记关键词 清除标记
之前我自己编辑百度地图api时候,EL表达式是直接写的,但是并不能使用。 当时我在csdn上找到了如下这篇文章,说是要加引号。 http://blog.csdn.net/xuechongyang/article/details/8629473 然后就成功了。 比如下代码的最后一句。 ``` <script type="text/javascript"> // 百度地图API功能 var map = new BMap.Map("allmap"); map.centerAndZoom(new BMap.Point(116.404, 39.915), 12); //var src= <%=request.getAttribute("src")%>; //var des= <%=request.getAttribute("des")%>; var output = "从"+'${src}'+"到"+'${des}'+"驾车需要"; //var output = "从"+src+"到"+des+"驾车需要"; var searchComplete = function (results){ if (transit.getStatus() != BMAP_STATUS_SUCCESS){ return ; } var plan = results.getPlan(0); output += plan.getDuration(true) + "\n"; //获取时间 output += "总路程为:" ; output += plan.getDistance(true) + "\n"; //获取距离 } var transit = new BMap.DrivingRoute(map, {renderOptions: {map: map}, onSearchComplete: searchComplete, onPolylinesSet: function(){ setTimeout(function(){alert(output)},"1000"); }}); transit.search('${src}','${des}'); </script> ``` 但在我写一个JSP分页时候,我这里是照着网上一个分页教程敲的代码,是不加任何单引号或者双引号,可以正常使用。 //当前页数 var currentPage = ${result.currentPage}; //一共多少数据 var totalPage = ${result.totalPage}; 但是在js片段我自己写一句:var showallroutesusertype = ${showallroutesusertype};然后通过 ``` function deleteRoute(idList)//发出异步请求 { question = confirm("你确认要对此路线发起拼车吗?"); if (question){ var xhr = createXHR(); xhr.onreadystatechange = function() { if (xhr.readyState == 4) { if (xhr.status >= 200 && xhr.status < 300 || xhr.status == 304) { doDeleteSuccess(idList); } } } xhr.open("get", "/carpool/servlet/CreateOrdersServlet?showallroutesusertype="+showallroutesusertype+"&routeid="+idList, true); xhr.send(); } } function createXHR() { if (window.XMLHttpRequest) { return new XMLHttpRequest(); } else if (window.ActiveXObject) { return new ActiveXObject("Microsoft.XMLHTTP"); } }//后略 ``` 在后台获取的却是“undefined”字符串。 请问这到底是怎么回事。。顺便在之前我有把result和showallroutesusertype都setAttribute到了request里。
【为什么还需要学习C++?】 你是否接触很多语言,但从来没有了解过编程语言的本质? 你是否想成为一名资深开发人员,想开发别人做不了的高性能程序? 你是否经常想要窥探大型企业级开发工程的思路,但苦于没有基础只能望洋兴叹?   那么C++就是你个人能力提升,职业之路进阶的不二之选。 【课程特色】 1.课程共19大章节,239课时内容,涵盖数据结构、函数、类、指针、标准库全部知识体系。 2.带你从知识与思想的层面从0构建C++知识框架,分析大型项目实践思路,为你打下坚实的基础。 3.李宁老师结合4大国外顶级C++著作的精华为大家推出的《征服C++11》课程。 【学完后我将达到什么水平?】 1.对C++的各个知识能够熟练配置、开发、部署; 2.吊打一切关于C++的笔试面试题; 3.面向物联网的“嵌入式”和面向大型化的“分布式”开发,掌握职业钥匙,把握行业先机。 【面向人群】 1.希望一站式快速入门的C++初学者; 2.希望快速学习 C++、掌握编程要义、修炼内功的开发者; 3.有志于挑战更高级的开发项目,成为资深开发的工程师。 【课程设计】 本课程包含3大模块 基础篇 本篇主要讲解c++的基础概念,包含数据类型、运算符等基本语法,数组、指针、字符串等基本词法,循环、函数、类等基本句法等。 进阶篇 本篇主要讲解编程常用的一些技能,包含类的高级技术、类的继承、编译链接和命名空间等。 提升篇: 本篇可以帮助学员更加高效的进行c++开发,其包含类型转换、文件操作、异常处理、代码重用等内容。
©️2020 CSDN 皮肤主题: 书香水墨 设计师:CSDN官方博客 返回首页