很多使用javascript的朋友都有这样一个问题:如何选择脚本标签属性类型和语言。为了解决这个疑惑,本文进行了详细的梳理,有需要的可以参考一下。
被问到一个问题:
脚本语言='JavaScript '
脚本类型='文本/javascript '
脚本
这三个标签的使用有什么区别?
虽然一直在用,但是一直没有很好的理解。下面详细解释一下。
查一些资料,主要是关于浏览器支持的。类型和语言属性可用于在脚本标记中指定脚本的类型。在提倡使用类型属性的HTML和XHTML标准中,语言属性受到了批评。不幸的是,这两个属性的值是不同的。
您可能偶尔会看到language的值是VBScript(type为text/vbscript),这意味着包含的脚本代码是用Microsoft Visual Basic Script编写的。
使用JavaScript,您还可以使用语言' JavaScript 1.1 '的值,这意味着包含的脚本语句只能由Netscape 3.0或更高版本处理。网景2.0只支持JavaScript 1.0,不能处理标有‘JavaScript 1.1’的脚本。
为了保证脚本程序的正常执行,应该将script标签的' type '属性设置为' javascript ',不应该设置过时的' Languange '属性,除非专门使用了IE支持的VBScript和SCRIPT编码器机制。
各浏览器对于 "type" 和 "language" 属性本身均支持,但是对于其中设置的脚本语言类型识别与支持各异:
当‘类型’和‘语言’同时存在时,所有浏览器都先识别‘类型’属性中的脚本类型;
其中,IE浏览器实际支持JScript和VBScript脚本语言标记和脚本编码器加密;
Chrome Firefox Safari Opera对于' type '属性值的具体识别的容忍度是不一致的,比Chrome Safari宽松,Firefox的验证是最严格的;
在'语言'属性值识别的容忍度比较中,Chrome Safari仍然是浏览器中最宽松的,IE最严格,Firefox与Opera持平。
在语言编码的对比中,只有IE支持JScript。编码器和VBScript。编码器类型设置,但Firefox Chrome Safari没有。在Opera中,只有在属性值固定为默认的Javascript脚本语言后,输出值才是。
脚本语言='javascript '
函数a() {
b=' a
}
a();
警戒(b);
/脚本
变量有问题。即使你像上面那样在函数中声明一个变量,它也会变成一个全局变量。
如果用var声明,会有问题。
脚本语言='javascript '
函数a() {
var b=' a
删除b;
警戒(b);
}
a();
/脚本
结果还是会弹出一个。
为了保证脚本程序的正常执行,应该将script标签的' type '属性设置为' javascript ',不应该设置过时的' Languange '属性,除非专门使用了IE支持的VBScript和SCRIPT编码器机制。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。