Safari浏览器中的变量名为name时的问题
不清楚这算不算bug,当name赋值为undefined时,使用typeof检查会显示string。其他引擎的浏览器都理解为空,可能是Safari中JS引擎自身的原因,不过Safari也只是认为名称为name的变量为string,其他名称的变量会正常理解为空。可以避免使用name作为变量名,其他的具体细节有空研究。代码如下:
<script type="text/javascript">
var value = undefined;
if (value) {
document.write(typeof value + '<br />');
} // WebKit引擎中位string
var name = undefined;
if (name) {
document.write(typeof name + '<br />');
}
document.write('value = ' + value, '<br />', ' name = ' + name, '<br />');
</script>
现在还没有评论
留下您的脚印