Nat*_*ndt 3 javascript jquery internet-explorer commenting
因此,这篇文章并不是一个"请帮助我修复它"的帖子,而是"为什么会改变它使它工作?".所以我写了一些javascript/jquery,它们在firefox和chrome中运行,但IE却出错了.
即使有来自stackoverflow的用户的有用帖子,我也无法弄明白.我最终偶然发现了答案(因为我似乎发现自己在编码方面做了很多工作).
我正在做一种有点严格的评论风格,由我的一位计算机科学教授教给我,其中一个函数会评论如下:
//@ describe function
//@ params: param1 - function, param2 - function
//@ etc....
Run Code Online (Sandbox Code Playgroud)
所以我愚蠢地把它扔进我的javascript只是为了发现IE真的根本不关心这个.当我删除@符号时,代码完美无缺.
所以我的问题是为什么这会导致IE中的错误?不应该跟随'//'评论无关紧要吗?
它确实看起来像一些怪异的IE条件评论支持.看来,如果@是一个意见的第一个字符(是否以// @或/*@,然后IE查找@符号之后的条件注释指令.参见开始http://msdn.microsoft.com/en -us/library/8ka90k2e(v = vs.94).aspx用于一些例子.
AlienWebguy的建议应该有效,因为评论的第一个字符是*.你可能也可以在@符号前面加一个空格:
// @ describe function
// @ params: param1 - function, param2 - function
// @ etc....
Run Code Online (Sandbox Code Playgroud)
您可能正在考虑docblock注释,您希望将其包含在块注释语法中:
/**
* Function does this
* @param <string> $str The string
* @param <array> $arr The array
* @return <bool> true if string is in array, false if not
*/
Run Code Online (Sandbox Code Playgroud)
我可以看到IE只是愚蠢.即使有一个解释为什么你//@没有工作,它可能是一个非常愚蠢的,并且可能性很大,我们只有一小部分人甚至可以在我们的IE版本上重新创建它.
IE是我所知道的唯一一个查看条件注释的浏览器,因此我可以看到它们具有与所有其他浏览器不同的注释解析器,这些浏览器会与其他正确的代码冲突.
| 归档时间: |
|
| 查看次数: |
1410 次 |
| 最近记录: |