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 可以查一下你用的编辑器的快捷汇总,有很多你想不到的快捷功能,提高编码效率
4 个月之前 回复
baidu_30233079
baidu_30233079 我的建议就是不要纠结这件事,没有好办法。ctrl+shift+c这个是快捷键,不同的编辑器有不同的快捷键,都能快速把选中代码注释和取消注释
4 个月之前 回复
czh500
czh500 我看到下面的一个网友的办法,eclispe中jsp页面中,注释javascript代码可以选中要你要注释的代码,使用ctrl+shift+c快捷键就可以做到单行注释!这个办法挺好,不纠结了,就这样干了,本来想函数中使用多行注释把函数中一大堆的代码给注释掉比较方便,不成想,我又不想要这个函数了,所以干脆把这个函数给注释掉,所以我就在函数外面又使用了多行注释,结果函数外面的多行注释和函数里面的多行注释匹配上了,导致了语法错误!
4 个月之前 回复
czh500
czh500 采纳你的建议,你没说怎么做啊!你的办法是函数里面全部改成这种//但行注释是吗?我知道多行注释内部是不能嵌套多行注释的,否则多个多行注释就会匹配乱了,最终导致语法错误。哎,如果函数中有一大堆的语句我要注释掉,只能用单行注释,会累死,eclispe在jsp页面上注释javascript代码,没快捷键,我要一行一行的加上这个//单行注释!
4 个月之前 回复
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的<script>标签中多行注释报错解决方法
本人一直是那种开门见山的,累赘话就不多说了,读着没人情味的话,请谅解!         html编辑器:Hbuilder         浏览器:Firefox / chrome        问题描述:html中添加标签,里面使用多行注释方式报错(具体见下图:注释部分)         解决方法:多行注释里的每行内容前添加"//"进行二次注释(见下图:注释中的
JavaScript语法错误
Script 语法错误是指当 JScript 语句违反了 JScript 脚本语言的一条或多条语法规则时导致的错误。JScript 语法错误发生在程序编译阶段,在开始运行该程序之前。 错误号 描述 1019 在循环外
单行、多行 注释.HTML
Html 单行: 多行: javascript 单行:// 多行:/* */ Vbscript 单行:’ 多行:’ ASP <% %>中: 单行:’ 多行:’
JavaScript必须熟悉知道的基础整理(一)
JavaScript必须熟悉知道的基础整理(一)
Eclipse 多行同时注释的快捷操作
Eclipse 可以多行同时注释,当多行同时选中后,快捷键 Ctrl + / 将对被选的所有行进行注释,对已经被注释的多行取消注释也同样在被选中后,使用Ctrl + / 快捷键进行取消,注释用// 符号。 另一个多行同时注释的快捷是 Ctrl + Shift + /,这个快捷的多行注释是用/* ... */ 完成,而该快捷无法通过相同的快捷键进行反注释。
JavaScript 关键错误,发生在 xxx 中的第 3 行第 1 列 SCRIPT1002: 语法错误
JavaScript 关键错误,发生在 xxxx 中的第 3  行第 1 列 SCRIPT1002: 语法错误   .net mvc 中报这个错误,经过检查发现,是一个js文件不存在导致的。
Javascript语法规范错误提示代码
“Missing semicolon.” : “缺少分号.”, “Use the function form of \”use strict\”.” : “使用标准化定义function.”, “Unexpected space after ‘-’.” : “在’-'后面不应出现空格.”, “Expected a JSON value.” : “请传入一个json的值.”, “Mixe
js 中多行模板 解决方案---使用注释
function hehe() {  /*asdfsfsdf   asdfasdfsa  asdfasdf*/ } console.log(hehe.toString().replace(/^[^\/]+\/\*!?/, '').replace(/\*\/[^\/]+$/, ''));
eclipse 中的注释 快捷键 多行注释快捷键 单行注释快捷键
Eclipse 中的两种注释方法:(1)多行注释(2)单行注释一、 多行注释快捷键1:添加注释Ctrl+Shift+/ :    添加/* */注释 示例:选中代码块后按下快捷键即可[java] view plain copy /* float size = 0.0f;    float pct = 0.0f;    try { size = Float.parseFloat(resInfo.ge...