一、<script>xxxx</script>标签解析

1.charset :可选,表示通过src属性指定的字符集,由于大多数浏览器忽略它,所以很少有人用它
2.defer:可选.表示脚本可以延迟到文档完全解析和显示之后再执行,由于大多数浏览器不支持,故很少用
3.language:已经废弃。原来用于代码使用的脚本语言,由于大多数的浏览器都忽略它,所以不要用
4.src:可选,表示包含要执行代码的外部文件
5.type:必需,可以看作是language的替代品,表示代码使用的脚本语言的内容类型。例:type="text/javascript".

二、第一个javascript

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>第一个JavaScript</title>
  6. </head>
  7.  
  8. <body>
  9. <script type="text/javascript">
  10. alert('欢迎来到JavaScript 世界!');
  11. </script>
  12.  
  13. JavaScript 世界!
  14.  
  15. </body>
  16. </html>

效果:

三、内嵌javascript的问题

3.1 如下列代码:红色字体

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>第一个JavaScript</title>
  6. </head>
  7.  
  8. <body>
  9. <script type="text/javascript">
  10. alert('</script>');
  11. </script>
  12.  
  13. JavaScript 世界!
  14.  
  15. </body>
  16. </html>

效果:

可以看到。在执行时遇到</script>时,浏览器默认为已经结束,后面的内容会原文输出,如果使用外部的js文件就不会有此问题

解决方法:

  1. alert('</scr'+'ipt>');

3.2 内嵌代码不利于维护和扩展,建议使用外部js文件

四、外部js文件的引入

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>第一个JavaScript</title>
  6. </head>
  7.  
  8. <body>
  9. <script type="text/javascript" src="demo1.js"></script>
  10.  
  11. JavaScript 世界!
  12.  
  13. </body>
  14. </html>

外部文件:

  1. alert('</script>');

效果:

五、<noscript>元素的属性

  1. <noscript>
  2. <p>本页显示需要浏览器支持(启用)Javascript
  3. </noscript>
  • 浏览器不支持脚本

  • 浏览器支持脚本,但脚本被禁用,浏览器就会显示<noscript>中的内容

  • 这个页面会在脚本无效的情况下,向用户显示一条信息,而在启用了脚本的浏览器中,用户永远也不会看到它

六、常见错误

6.1引入外部文件没有以</script>结束.

错误代码如下:

  1. <script type="text/javascript" src="demo1.js" />

以上写法js是不要执行的,请以</script>结束正确的写法

  1. <script type="text/javascript" src="demo1.js" ></script>

6.2、引入外部文件后<script></script>不可以再加入其它的js脚本

错误代码:

  1. <script type="text/javascript" src="demo1.js" >
  2. alert('这里是执行不到的!');
  3. </script>

执行后发现中间的内容是不会被执行到的,如果需要请在外部js中添加,或者写内部js脚本

JavaScript二(第一个js程序)的更多相关文章

  1. javascript中,一个js中的函数,第一句var _this = this;为什么要这样做?

    javascript中,一个js中的函数,第一句var _this = this;为什么要这样做? 下面是源码: 下面这段代码是常用的网站首页,自动切换span或者tabbar来变更List显示内容的 ...

  2. python flask框架学习(二)——第一个flask程序

    第一个flask程序 学习自:知了课堂Python Flask框架——全栈开发 1.用pycharm新建一个flask项目 2.运行程序 from flask import Flask # 创建一个F ...

  3. (二)一个MFC程序,消息映射,纯代码

    1.应用程序类 CWinApp https://docs.microsoft.com/zh-cn/cpp/mfc/reference/cwinapp-class?f1url=https%3A%2F%2 ...

  4. 高性能的JavaScript,这是一个高级程序员必备的技能

    不知道大家有没有看过高性能JavaScript,这个书是一本好书,推荐有JavaScript的基础的同学可以看一看这本书. 下面是我根据这本书整理出来的知识: 1.将经常使用的对象成员.数组项.和域外 ...

  5. OD 实验(十二) - 对一个 Delphi 程序的逆向

    程序: 运行程序 界面显示的是未注册 点击 Help -> About 点击 Use Reg Key 这里输入注册码 用 PEiD 看一下 该程序是用 Delphi 6.0 - 7.0 写的 逆 ...

  6. [JavaScript]如何实现一个JS脚本能在browser和NodeJs里都是用

    下面是一个Common的Solution 'use strict'; // Universal Module Definition (UMD) to support AMD, CommonJS/Nod ...

  7. 一个js程序:离下一个圣诞节还有多少天?

    话不多说上代码: //离下一个圣诞节还有多少天 var christ=new Date(); christ.setMonth(11); christ.setDate(25); var year=now ...

  8. 第一个js程序

    <html><head> <title>Untitled</title> <script >function demo(){ alert ( ...

  9. PyCharm搭建Spark开发环境 + 第一个pyspark程序

    一, PyCharm搭建Spark开发环境 Windows7, Java 1.8.0_74, Scala 2.12.6, Spark 2.2.1, Hadoop 2.7.6 通常情况下,Spark开发 ...

随机推荐

  1. Codeforces Round #275 (Div. 1)A. Diverse Permutation 构造

    Codeforces Round #275 (Div. 1)A. Diverse Permutation Time Limit: 1 Sec  Memory Limit: 256 MB 题目连接 ht ...

  2. leetcode659. Split Array into Consecutive Subsequences

    leetcode659. Split Array into Consecutive Subsequences 题意: 您将获得按升序排列的整数数组(可能包含重复项),您需要将它们拆分成多个子序列,其中 ...

  3. Linux性能监控分析命令(四)—top命令介绍

    性能监控分析的命令包括如下: 1.vmstat 2.sar 3.iostat 4.top 5.free 6.uptime 7.netstat 8.ps 9.strace 10.lsof ======= ...

  4. mysql另类分页方法

    mysql> limit ,;select found_rows(); +----+-----------------+---------+--------+ | id | rankName | ...

  5. 华为S5300系列交换机V100R005SPH020升级补丁

    S23_33_53-V100R005SPH020.pat 附件: 链接:https://pan.baidu.com/s/1-qgNEtRsZbNnC4eK4DTctA  密码:wpn3

  6. linux内核源码中常见宏定义

    http://blog.csdn.net/yangdelong/article/details/5508057

  7. 2) broadcast,这是启动完毕之后,集群中的服务器开始接收客户端的连接一起工作的过程,如果客户端有修改数据的改动,那么一定会由leader广播给follower,所以称为”broadcast”.

    2) broadcast,这是启动完毕之后,集群中的服务器开始接收客户端的连接一起工作的过程,如果客户端有修改数据的改动,那么一定会由leader广播给follower,所以称为”broadcast” ...

  8. arcgis andriod GeometryEngine使用

    intersectionMenuItem.setChecked(true); showGeometry(GeometryEngine.intersection(inputPolygon1, input ...

  9. Dictionary GetOrAdd

    public static TValue GetOrAdd<TKey,TValue>( this Dictionary<TKey,TValue> dictionary, TKe ...

  10. 解决sdk manager下载非常慢或者下载失败

    有了sdk manager,打开它,想下载一些须要的东西总是会发现非常慢,然后就仅仅好慢慢等待,等待许久之后最后是失败了,这样就会非常麻烦,以下我总结总结,怎样解决这些问题,让你在分分钟下载好这些东西 ...