2 czh500 czh500 于 2018.03.15 01:21 提问

javascript中多个多行注释导致语法错误! 5C

大家看我如下代码,我想把getCitysByParentId()这个函数给注释掉,所以我在getCitysByParentId()这个函数外面用了一个多行注释,可是getCitysByParentId()这个函数的内部又有一个多行注释,导致了这2个多行注释匹配乱了,getCitysByParentId()函数外面的多行注释的开头注释和getCitysByParentId()函数中的多行注释的结尾注释匹配成一对了,请问大家有什么办法怎么解决?不要告诉我全部用单行注释!

 /*
    function getCitysByParentId() {
        if (xmlHttpRequest.readyState == 4 && xmlHttpRequest.status == 200) {
            //隐藏加载图片
            hideLoading();
            var cityList = xmlHttpRequest.responseText;
            debug(cityList);
            var citys = eval("(" + cityList + ")");
            /*
            从服务器端返回的json字符串是[null],这是一个空数组,里面没有任何元素,但是在前端页面解析后打印该json的长度是1,所
            以前端页面上要判断json是否是一个空数组,不能用数组长度来进行判断,必须要判断该json是否是一个空字符串,如果是一
            个空字符串的话,那就说明该json是一个空数组,如下citys == ""
            */
            if (citys == null || citys.length == 0 || citys == "") {
                return;
            }
            debug("<font color='red'>数组长度=" + citys.length + "</font>");
            var fatherLiNode = document.getElementById(myLiId);
            var newUlNode = document.createElement("UL");
            for (var i = 0; i < citys.length; i++) {
                var newLiNode = document.createElement("LI");
                newLiNode.id = "tag" + citys[i].cityId;
                newLiNode.innerHTML = "<a class='" + createRandomColor() + "' title='" + citys[i].context + "' href='#' onclick='return getCitys(\"" + citys[i].cityId + "\", \"tag" + citys[i].cityId + "\")'>" + citys[i].cityName + "</a>";
                newUlNode.appendChild(newLiNode);
            }
            fatherLiNode.appendChild(newUlNode);
        }
    }
    */

14个回答

qiuchp
qiuchp   2018.03.15 03:20

getCitysByParentId方法内部的注释 都用单行注释“//” 。注释getCitysByParentId方法时用多行注释。

qman19791123
qman19791123   2018.03.15 07:23

在if (citys == null || citys.len....前再加一个/* 就可以了,错误原因 /**/ 需要成对出现的而 你有个对/**/ 正好重叠了所有报错了咯

weixin_40223830
weixin_40223830   2018.03.15 08:55

public class DefaultCommentGenerator
public void addFieldComment(Field field, IntrospectedTable introspectedTable, IntrospectedColumn introspectedColumn) {
/*从这开始注释
field.addJavaDocLine("/** "+introspectedColumn.getRemarks()+"*/");
if(!this.suppressAllComments) {
StringBuilder sb = new StringBuilder();
field.addJavaDocLine("*//**"); //这里加符号"*/"
field.addJavaDocLine(" * This field was generated by MyBatis Generator.");
sb.append(" * This field corresponds to the database column ");
sb.append(introspectedTable.getFullyQualifiedTable());
sb.append('.');
sb.append(introspectedColumn.getActualColumnName());
field.addJavaDocLine(sb.toString());
this.addJavadocTag(field, false);
field.addJavaDocLine(" //"); //这里也需要加符号"/*"
}
}
到这结束*/
}

JmuGisWang
JmuGisWang   2018.03.15 08:55

多加一个多行注释,变成三个多行注释。
/*
function .....

var citys = eval("(" + cityList + ")"); /
/

从服务器端返回的json字符串是[null],这是一个空数组,里面没有任何元素,但是在前端页面解析后打印该json的长度是1,所
以前端页面上要判断json是否是一个空数组,不能用数组长度来进行判断,必须要判断该json是否是一个空字符串,如果是一
个空字符串的话,那就说明该json是一个空数组,如下citys == ""
/
/
if (citys == null || citys.length == 0 || citys == "")
.......
}*/

baidu_30233079
baidu_30233079   2018.03.15 08:57

其实这个没有什么好的办法,编译器没有做到那么好,没有完美办法。
我觉得你应该采纳我的建议,别在这浪费时间

baidu_30233079
baidu_30233079 可以查一下你用的编辑器的快捷汇总,有很多你想不到的快捷功能,提高编码效率
7 个月之前 回复
baidu_30233079
baidu_30233079 我的建议就是不要纠结这件事,没有好办法。ctrl+shift+c这个是快捷键,不同的编辑器有不同的快捷键,都能快速把选中代码注释和取消注释
7 个月之前 回复
czh500
czh500 我看到下面的一个网友的办法,eclispe中jsp页面中,注释javascript代码可以选中要你要注释的代码,使用ctrl+shift+c快捷键就可以做到单行注释!这个办法挺好,不纠结了,就这样干了,本来想函数中使用多行注释把函数中一大堆的代码给注释掉比较方便,不成想,我又不想要这个函数了,所以干脆把这个函数给注释掉,所以我就在函数外面又使用了多行注释,结果函数外面的多行注释和函数里面的多行注释匹配上了,导致了语法错误!
7 个月之前 回复
czh500
czh500 采纳你的建议,你没说怎么做啊!你的办法是函数里面全部改成这种//但行注释是吗?我知道多行注释内部是不能嵌套多行注释的,否则多个多行注释就会匹配乱了,最终导致语法错误。哎,如果函数中有一大堆的语句我要注释掉,只能用单行注释,会累死,eclispe在jsp页面上注释javascript代码,没快捷键,我要一行一行的加上这个//单行注释!
7 个月之前 回复
qw0907
qw0907   2018.03.15 09:09

包含的内容 除了用单行注释,应该没解决方法了。。

qq_37127729
qq_37127729   2018.03.15 09:17

先把注释全部取消,然后选中内容ctrl+shift+c来进行批量注释

h8170358
h8170358   2018.03.15 09:47

用IDEA会自动帮你处理

xiaoJack_C
xiaoJack_C   2018.03.15 10:08
  1. 可以在加一个多行注释;
  2. 方法内部用单行注释"//";
  3. 把方法内部的注释取消
qq_39932010
qq_39932010   2018.03.15 11:01

多行注释内部是不能嵌套多行注释的,否则就是语法错误。如果多行注释内部还需要多行注释的话,最好拆分成多个多行注释,或者内部用单行注释。

共14条数据 1 尾页
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
jsp中的多行注释,在注释js文件内容的时候与注释body里的内容时有区别
jsp中的多行注释,在注释js文件内容的时候与注释body里的内容时使用的注释符号略有区别。 在以下三种注释符号中,“/*xxxxx*/”该符号在body体里不起作用,在js里可以使用。符号“”和符号""在jsp页面的任何地方都可用。 1)/*xxxxx*/; 2); 3);     题外话:以前还真没注意到这个区别,只是今天在Linux环境下要注释一段js代码的时候,才突然发现的。
html——注释(单行注释 多行注释)
HTML注释: &amp;lt;!--这是单行注释--&amp;gt; &amp;lt;!--     这是多行注释     这是多行注释     这是多行注释 --&amp;gt; JS/jQuery注释: //这是单行注释 /*     这是多行注释     这是多行注释     这是多行注释 */ css注释: /*这是单行注释*/ /*     这是多行注释     这是多行注释     这是多行注释 ...
JavaScript 关键错误,发生在 xxx 中的第 3 行第 1 列 SCRIPT1002: 语法错误
JavaScript 关键错误,发生在 xxxx 中的第 3  行第 1 列 SCRIPT1002: 语法错误   .net mvc 中报这个错误,经过检查发现,是一个js文件不存在导致的。
html的<script>标签中多行注释报错解决方法
本人一直是那种开门见山的,累赘话就不多说了,读着没人情味的话,请谅解!         html编辑器:Hbuilder         浏览器:Firefox / chrome        问题描述:html中添加标签,里面使用多行注释方式报错(具体见下图:注释部分)         解决方法:多行注释里的每行内容前添加"//"进行二次注释(见下图:注释中的
单行、多行 注释.HTML
Html 单行: 多行: javascript 单行:// 多行:/* */ Vbscript 单行:’ 多行:’ ASP <% %>中: 单行:’ 多行:’
Javascript 常见的浏览器报错
一、常见的异常EvalError在错误的调用eval函数时引发该异常对象 RangeError在一个数字型变量的值超出了其范围时引发该异常对象 ReferenceError使用一个无效的引用时引发该异常对象 SyntaxError在解析js代码时,其中的语法错误引发该异常对象 TypeError当遇到一个意外的类型时引发该异常对象,如未声明的变量 URIError在错误的使用encodeURI或者d
问题008:java 中代码块的风格有几种?单行注释可否嵌套?多行注释可否嵌套?
有两种:一种是次行风格,英文称为next-line 一种是是行尾风格,英文称为 end-of-line 举例 行尾风格 public class HelloWorld{ public static void main(String[] args){ System.out.println("HelloWorld!"); System.out.println(
script语法错误
转载地址:http://publishblog.blogchina.com/blog/tb.b?diaryID=3364440 jscript语法错误是指当jscript语句违反了jscript脚本语言的一条或多条语法规则时导致的错误。jscript语法错误发生在程序编译阶段,在开始运行该程序之前。(错误发生在开发过程中),以下是32个语法错误 错误号描述 十进制 十六进制 说明 1
如何在浏览器中捕获JS的语法错误
在&amp;lt;head&amp;gt;标签中添加以下代码: &amp;lt;script type='text/javascript'&amp;gt; window.addEventListener('error',function(e){ alert(e.filename+'\nLine '+e.lineno+'\n'+e.message); }); &amp;lt;/script&amp;gt; 此...
javascript之eval函数的一些常见问题以及处理方法
W3C对EVAL函数的解释是 eval()函数:可计算某个字符串,并执行其中的JavaScript代码。 eval( String ); 当我们用的eval拿到了一个服务器传来的一些数据的时候(当然,我们通常会用JSON.parse()来去拿这个数据), 假如,数据里存放的是一个JS对象字面量代码块 //假如服务器传来的数据,是存放到str里的这些 var str = &quot;{name...