关于js中单双引号以及转义符的理解
关于js中单引号(')和双引号(")的使用以及转义的理解
这几天一直在画页面,身为开发人员的我之所以要画页面是因为当前项目中的页面上所有的东西都是从数据库中取得的,也就是动态的,类似于我们设计自己的个人QQ空间,但因为是大型平台,有自定义业务的概念
,所有更为复杂,在这就不多说了,我所谓的画页面就是如何把数据结合逻辑,变成HTML,其中遇到的最大的问题就是我今天要说的;
一个页面上有一个查询,当然查询的条件,字段类型都是动态的,要根据数据类型生成不同的文本框,如果是varchar2就生成不同的,
如果是date就生成加入时间选择js的,页面上有一个添加新的条件组的按钮,链接到一个js事件,里面就要做关于文本框的判断,我们只看判断部分
如下;
if(tlist[index].value=="date")
{
table.rows[t].cells[2].innerHTML=' onclick="WdatePicker({dateFmt:"yyyy-MM-dd"})"
onfocus="WdatePicker({dateFmt:"yyyy-MM-dd"})" class="Wdate"
/>';
}
else
{
table.rows[t].cells[2].innerHTML='';
}
重点为红色部分,
这样写我本来认为是无可厚非的,
但是如果这段代码执行一次,就汇报js错误,错误信息是“语法错误”,js本身为弱语言,单引号和双引号如果是但用的话其实可以混淆的,但如果一起用就要区分,例如上段代码我可以把单引号和双引号对换,也是可以的,
但如果只改变其中一处就需要用+号链接, 意义也不同了,例如
"'b'" 可以 ,但""b""就会出错,需要""+"b"+""
无法通过单引号双引号的改变来解决问题,我就开始寻求别的思路,我尝试了使用 \ (转义符)来解决,如下
onclick="WdatePicker({dateFmt:\"yyyy-MM-dd\"})"
但还是不行,个人认为原因是js还是在html的作用中,而不是java,所以我想到了使用"来解决,
table.rows[t].cells[2].innerHTML=' onclick="WdatePicker({dateFmt:"yyyy-MM-dd"})"
onfocus="WdatePicker({dateFmt:"yyyy-MM-dd"})" class="Wdate"
/>';
问题解决了,
我生平第一次感觉到了这个东西的神奇, 原来只使用过
,看来在程序的世界中,每一样东西都有他存在的意义, 即使在我们不得已淘汰他们的时候
,也要知道他们有意义的部分,因为这些富有意义的东西可能在某时某刻给我们极大地帮助,而且替代他们的产品未必可以将他们的优点全部传承,人亦如此
。
关于js中单双引号以及转义符的理解的更多相关文章
- 单引号、双引号 Html转义符 ----2014年12月2日
'----单引号 "-----双引号 在一个网页中的按钮,写onclick事件的处理代码,不小心写成如下: <input value="Test" ...
- js、html中的单引号、双引号及其转义使用
js.html中的单引号.双引号及其转义使用在js中对相关字符做判断或取值的时候很多情况下都会用到这些. ------ 在一个网页中的按钮,写onclick事件的处理代码,不小心写成如下:<in ...
- 今天 运营同事发现的bug记录 上传商品时商品名称带双引号 导致输出页面时 双引号被转义
例如 ”sk||““美白”淡化 这样输出表单页面时显示出来的只有sk|| 解决办法 把输出文字对双引号进行转义
- JAVA 中转义符的理解
生物信息中有时候会遇到JAVA写的程序,今天阅读源码的时候发现对于正则中的转义符不好理解,后来查资料后终于弄明白了,这里详细说明一下: 字符串的表示有三种方法:1.直接单字符,例如"A&qu ...
- onmousemove和onmouseout事件的调用,和js使用双引号、单引号的时候应该注意的问题
使用js的时候,统一使用双引号,然后通过反斜杠进行转义 ①如果同时使用单引号.和双引号的情况下容易出现问题,导致标签中表示的事件不能调用, ②导致由于标签没有封口而出现样式布局错误 <!DOCT ...
- shell脚本中单双引号疑惑
工作中常用到shell脚本,遇到了一个疑惑,求解. 常见的解释: 单引号字符串的限制: 单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的: 单引号字串中不能出现单独一个的单引号(对单 ...
- html & js 单双引号
1.html使用双引号,嵌套亦如此,表示dom元素的属性 <input value="Test" type="button" onclick=" ...
- JavaScript 实现格式化字符串函数String.format (解决引号嵌套转义符问题)
在js开发中,我们可能会遇到这样一个问题 当需要通过js动态插入html标签的时候 特别是当遇到大量的变量拼接.引号层层嵌套的情况,会出现转义字符问题,经常出错 我们来看个例子 <!DOCTYP ...
- 关于C语言中单双引号的问题
代码 #include<stdio.h> int main() { if ( "{" =='{' ) printf("True\n"); else ...
随机推荐
- js单页hash路由原理与应用实战
什么是路由? 通俗点说,就是不同的URL显示不同的内容 什么是单页应用? 单页,英文缩写为SPA( Single Page Application),就是把各种功能坐在一个页面内. 那所谓的单页路由应 ...
- Socket学习总结系列(二) -- CocoaAsyncSocket
这是系列的第二篇 这是这个系列文章的第二篇,要是没有看第一篇的还是建议看看第一篇,以为这个是接着第一篇梳理的 先大概的总结一下在上篇的文章中说的些内容: 1. 整理了一下做IM我们有那些途径,以及我们 ...
- 【LeetCode】数组-2(628)-数组中三个数相乘最大
题目不难: 思路一(排序取两端) 先排序,最后三个数相乘即可.(很快就想到了,但是没想全面 [
- SQL连接、合并、子查询
连接:连接分为内连接.外连接.交叉连接 内连接和外连接都是在笛卡尔积的基础做一些修改. 合并查询:把两个相似的结果可以用union联合起来. mysql> select id,time from ...
- 使用proxool连接池配置教程
proxool连接池的优点: 1.透明度:透明地将连接池添加到现有的JDBC驱动程序. 2.开源:我们的许可证允许您灵活地将其用于商业和其他开源产品. 3.标准:符合J2SE API,使您有信心开发标 ...
- window.parent.document jquery
使用 jQuery ,写法如下: .$("#myEle", window.parent.document).html(html); 另外还有一种实现方式,代码如下: .parent ...
- 再起航,我的学习笔记之JavaScript设计模式14(桥接模式)
桥接模式 桥接模式(Bridge): 在系统沿着多个维度变化的同时,又不增加其复杂度并已达到解耦 从定义上看桥接模式的定义十分难以理解,那么我们来通过示例来演示什么是桥接模式. 现在我们需要做一个导航 ...
- When Startup Disk is Full
参考自What To Do When Your Mac's Startup Disk is Almost Full Delet——Empty Trash
- ThreadLocal类分析
首先试想一个场景: 多个线程都要访问数据库,先要获得一个Connection,然后执行一些操作.为了线程安全,如果用synchronized锁定一个Connection对象,那么任何时候,都只有一个线 ...
- Java基础---其他对象
第一讲 System类 一.概述 1.System是描述系统一些信息的类,类中的属性和方法都是静态的.不能被实例化,没有提供构造函数. 2.字段摘要 out:标准输出流.默认是控制台. in: ...