Why /*@ isn't a comment in JavaScript?

2019-01-22 14:42发布

问题:

This script http://html5shiv.googlecode.com/svn/trunk/html5.js looks like a big comment, but it works. Why /*@ doesn't behave like a comment?

回答1:

This uses a proprietry Microsoft feature called conditional compilation. As far as non-Microsoft browsers are concerned, it is a comment (but they don't need the shiv).



回答2:

Here some more info and the source.

It is a comment - multiline comment. All browsers suports comments ( // or /* ... */ ) in JavaScript. But only IE checks for the @ in the comment and recognize the part of the script for the conditional compilation. This is for usage of the non-standart Microsoft features.

There is also conditional commentsMSDN in HTML, which will be removed in IE10.



回答3:

It's a hack that uses IE's strange way of not considering /*@ a comment.