一、<script>xxxx</script>标签解析
1.charset :可选,表示通过src属性指定的字符集,由于大多数浏览器忽略它,所以很少有人用它
2.defer:可选.表示脚本可以延迟到文档完全解析和显示之后再执行,由于大多数浏览器不支持,故很少用
3.language:已经废弃。原来用于代码使用的脚本语言,由于大多数的浏览器都忽略它,所以不要用
4.src:可选,表示包含要执行代码的外部文件
5.type:必需,可以看作是language的替代品,表示代码使用的脚本语言的内容类型。例:type="text/javascript".
二、第一个javascript
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>第一个JavaScript</title> </head> <body> <script type="text/javascript"> alert('欢迎来到JavaScript 世界!'); </script> JavaScript 世界! </body> </html>
效果:
三、内嵌javascript的问题
3.1 如下列代码:红色字体
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>第一个JavaScript</title> </head> <body> <script type="text/javascript"> alert('</script>'); </script> JavaScript 世界! </body> </html>
效果:
可以看到。在执行时遇到</script>时,浏览器默认为已经结束,后面的内容会原文输出,如果使用外部的js文件就不会有此问题
解决方法:
alert('</scr'+'ipt>');
3.2 内嵌代码不利于维护和扩展,建议使用外部js文件
四、外部js文件的引入
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>第一个JavaScript</title> </head> <body> <script type="text/javascript" src="demo1.js"></script> JavaScript 世界! </body> </html>
外部文件:
alert('</script>');
效果:
五、<noscript>元素的属性
<noscript> <p>本页显示需要浏览器支持(启用)Javascript </noscript>
-
浏览器不支持脚本
-
浏览器支持脚本,但脚本被禁用,浏览器就会显示<noscript>中的内容
-
这个页面会在脚本无效的情况下,向用户显示一条信息,而在启用了脚本的浏览器中,用户永远也不会看到它
六、常见错误
6.1引入外部文件没有以</script>结束.
错误代码如下:
<script type="text/javascript" src="demo1.js" />
以上写法js是不要执行的,请以</script>结束正确的写法
<script type="text/javascript" src="demo1.js" ></script>
6.2、引入外部文件后<script></script>不可以再加入其它的js脚本
错误代码:
<script type="text/javascript" src="demo1.js" > alert('这里是执行不到的!'); </script>
执行后发现中间的内容是不会被执行到的,如果需要请在外部js中添加,或者写内部js脚本