HTML+CSS+JS 学习笔记(三)———Javascript(上)

简介: HTML+CSS+JS 学习笔记(三)———Javascript(上)

目录

前言

HTML中使用javascript

JS注释

单行注释

多行注释

JS代码的语法规则

三个常用的输出语句

变量

如何使用变量

变量的命名规则和规范

基础语法

1- if语句

2- 循环

3.contiinue语句

4.break语句

5. try···catch···fnally 语句

Error 对象

使用 throw 语抛出异常


前言

为什么要学习Javascript?

经过之前的学习以后,我们已经能够知道,如果要建立一个网站,我们可以通过

HTML实现整个网站的结构,CSS实现整个网站的样式,完成一个非常漂亮的静态页面,但是这样的页面仅仅是静

态页面,如果我们想让这个网站的功能更加丰富,我们必须给这个网站添加行为也就是我们javascript,那么这个

行为到底是什么意思呢?我们先来看一个例子: 百度图片搜索 动态的加载更多的数据,不使用JS是做不到的

JavaScript是什么?

官方概念:这是一个跨平台的脚本语言

平台:就是运行环境,这里一般指操作系统

JavaScript和HTML、CSS的区别

    1. HTML:提供网页的结构,提供网页中的内容
    2. CSS: 用来美化网页
    3. JavaScript: 可以用来控制网页内容,给网页增加动态的效果

    JavaScript的组成

    image.gif编辑

    ECMAScript JavaScript的核心

    ECMA 欧洲计算机制造联合会

    网景:JavaScript

    微软:JScript

    定义了JavaScript的语法规范

    JavaScript的核心,描述了语言的基本语法和数据类型,ECMAScript是一套标

    准,定义了一种语言的标准与具体实现无关

    BOM

    浏览器对象模型一套操作浏览器功能的API

    通过BOM可以操作浏览器窗口,比如:弹出框、控制浏览器跳转、获取分辨率

    DOM

    文档对象模型

    一套操作页面元素的API

    DOM可以把HTML看做是文档树,通过DOM提供的API可以对树上的节点进行操

    HTML中使用javascript

      1. 在html页面中使用<script> 标签包含页面需要执行的 javascript代码
      2. 引入外部的js文件到本html页面中生效
      <!DOCTYPE html>
      <html>
      <head>
      <meta charset="utf-8">
      <title></title>
      </head>
      <body>
      </body>
      <!-- 在本页面的 script 标签中书写JS脚本语法 -->
      <script>
      document.write("<p style='background-color:lightgray;'>大家好</p>");
      </script>
      <!-- 引入外部的JS文件 -->
      <script src="./js/main.js"></script>
      </html>
      1. image.gif

      JS注释

      单行注释

      用来注释单条代码 , 也可以用来描述下面一行或多行代码的作用

      // 这是一个变量
      var age = 18;

      image.gif

      说明: subline编辑器下单行注释快键键 ctrl+/

      多行注释

      用来注释多条代码

      /
      var age = 18;
      var username = 'zhangsan';
      console.log(username, age);
      /

      image.gif

      说明: subline编辑器下多行注释快键键 ctrl+shift+/

      JS代码的语法规则

        • JavaScript严格区分大小写
        • JavaScript脚本程序须嵌入在HTML文件中
        • JavaScript脚本程序可以独立保存为一个外部文件 这个文件是不能自己运行的它必须要依赖于HTML文件
        • JavaScript脚本程序中不能包含HTML标记代码
        • 每条语句末尾如果加分号一定是英文下的分号(;),最好加分号,不要省略
        • 一行写了多条JS语句 这个时候每一条语句就必须要加分号

        三个常用的输出语句

        document.write("要输出的内容")

        作用:

          • 它主要是用来向body标签中输出write()小括号里面的内容document它表示是当前的HTML文档对象
          • write在英文中是“写”的意思
          • 对象是由属性与方法组成的 对象.属性与对象.方法 从视觉上面来区分属性与方法 属性不带小括号 方法
          • 带有小括号
          • write它是一个输出的方法 如果输出的内容是HTML标签,浏览器会帮我们解析

          window.alert("要输出的内容")

          作用:

            • alert在英文是“警告”的意思
            • window它表示的是当前的浏览器窗口对象 window对象是js中最顶级的对象 可以省略不写
            • 它主要是用来向当前的浏览器窗口中弹出一个警告提示框
            • 实际开发不太常用 用户体验不好 经常用来检测结果

            window对象与document对象之间的区别:

              • window对象它代表着当前的浏览器窗口对象
              • document对象它代表着当前的HTML文档对象
              • window对象包含document对象
              • 站在window的角度来说document对象是window对象的一个属性

              console.log("要输出的内容")

              作用:

                • 向浏览器的调试工具中的“console” 选项卡里面输出内容
                • console的英文意思是“控制台”
                • log是日志的意思
                • 经常内部测试用的 程序猿看的

                另外: console.log还可以同时输出多个值

                1 console.log(值1,值2,值3,值4...)

                2 或者

                3 console.log(变量名1,变量名2,变量名3,变量名4...)

                变量

                什么是变量

                变量是一种可以变化的量,变量主要是用于存储数据的。我们命令JavaScript去干活的时候,往往需要产生一

                些数据,需要临时性存放起来,方便取用。我们也可以理解为,变量就像一个购物袋,我们可以用来装苹

                果、榴莲(当然也可以用来装玫瑰),变量是存放在内存中,内存是临时存储数据的。

                硬盘:持久性存储

                内存:临时性存储

                总结:

                  • 变量是计算机内存中存储数据的标识符,根据变量名称可以获取到内存中存储的数据
                  • 为什么要用变量: 有些数据我们需要保存起来, 方便后面来使用 我们就可以用变量来做
                  • 变量是用来保存数据的 变量的本质就是一个 盒子 类似我们前面学的html 标签
                  • 变量 就是用来保存数据的容器 变量是保存到内存里面的。

                  如何使用变量

                  var声明变量

                  定义变量需要有一个关键字var 英文单词variable变量的意思

                  声明变量,不赋值

                  var 变量名

                  声明变量,并且赋值

                  var 变量名 = 值

                  var age;

                  age = 18;

                  var username = "zhangsan";

                  变量的赋值

                  将等于号右边的值赋值给等于号左边的变量名!

                  第一种方式:先声明变量然后再来赋值

                  var age;

                  age = 18;

                  第二种方式:声明变量的同时直接给变量赋值

                  var age = 18;

                  可以同时声明多个变量

                  方式一:

                  var age, username, sex;

                  age = 10;

                  username = 'zhangsan';

                  sex = '男'

                  方式二:

                  var age = 10,username = "zhangsan",sex="男";

                  修改变量的值,变量总是喜新厌旧的,变量里面只能存放最后给的值 类似css层叠性

                  声明一个变量已经给其赋了值 然后再来修改这个变量的值!

                  格式:

                  变量名 = "新值" //给变量名重新赋一个值

                  var age = 16;

                  age = 18;

                  //这个时候,age的值为18,而不是16,18.

                  变量的命名规则和规范

                  规则必须遵守的,不遵守会报错

                    • 由字母(A-Za-z)、数字(0-9)、下划线(_)、$符号组成,不能以数字开头
                    • 不能是JS中关键字和保留字,例如:for、while等(其中变量名为name需要注意,不会错,但是不推荐使
                    • 用,因为name是window对象下的一个属性,设置的属性值会被加上双引号,成为字符串类型)
                    • 区分大小写

                    规范建议遵守的,不遵守不会报错

                      • 变量名需要有意义,希望大家在声明变量的时候变量名要做到"见名知意"
                      • 变量名可以由多个英文单词组成 建议使用下划线连接法或者是驼峰法

                      1. 下划线连接法 每一个单词之间使用下划线进行连接 比如:get_user_name

                      2. 驼峰法 第一个英文单词的首字母小写其它的英文单词首字母大写 比如:getUserName

                      基础语法

                      1- if语句

                      <script>
                      //定义变量
                      var score = 90;
                      if(score < 60){
                      document.write("得分:" + score + ", 等级:差");
                      }else if(score < 75){
                      document.write("得分:" + score + ", 等级:中");
                      }else if(score < 85){
                      document.write("得分:" + score + ", 等级:良");
                      }else if(score < 95){
                      document.write("得分:" + score + ", 等级:优秀");
                      }else{
                      document.write("得分:" + score + ", 等级:很秀");
                      }
                      </script>

                      image.gif

                      2- 循环

                      <script>
                      //定义累加和
                      var sum = 0;
                      //数值循环
                      for(var i=1; i<=100; i++){
                      sum += i;
                      }
                      document.write("sum= " + sum +"<br>");
                      //定义变量
                      var sum = 0;
                      var i = 1;
                      //条件循环
                      while(i<=10){
                      sum += i;
                      i++;
                      }
                      document.write(sum);
                      </script>

                      image.gif

                      3.contiinue语句

                      for(i=1;i<=10;i++)
                      {
                        if(i==5) continue;
                      document.write(i+"\n");
                      }

                      image.gif

                      结果:1 2 3 4 5 6 7 8 9 10

                      在使用continue语句跳转本次循环后,如果循环条件的结果为法拉瑟,则退出循环,否则继续下一次循环

                      4.break语句

                      for(i=1;i<=10;i++)
                      {
                        if(i==5) break;
                      document.write(i+"\n");
                      }

                      image.gif

                      结果:1 2 3 4

                      5. try···catch···fnally 语句

                      JavaScript 从 Java 中引入了 ty.catch...fnally 语,具体语法格式如下:

                      try{
                          somestatements;
                      }
                      catch(exception)
                      {
                      somestatements;
                      }
                      finally
                      {
                      somestatements;
                      }

                      image.gif

                      该语法中的参数说明如下

                      (1) try:尝试执行代码的关键字

                      (2) catch: 捕捉异常的关键字。

                      (3)fnally:最终一定会被处理的区块的关键字,该关键字和后面大括号中的语句可以省略。

                      Error 对象

                      try...catch...fnally 语句中的 catch 通常捕提到的对象是 Error 对象,当运行JavaScrip代码时,如果产生了错误或异常,JavaScript 就会生成一个 Error 对象的实例来描述错误或异常,该实例中包含一些特定的错误或异常信息。

                      Error 对象有以下两个属性。

                      (1) name:表示异常类型的字符串

                      (2) message:实际的异常信息。

                      例如,将异常提示信息放置在弹出的提示对话框中,其中包括实际的异常信息和异常类型的字符串。程序代码如下:

                      var str = "I like JavaScript";// 定义字符串变量
                       try(
                      document.write(str.charat (5));//应用错误的方法名charat
                      }
                      catch(exception){
                      //弹出实际的异常信息和异常类型的字符串
                      alert("实际的异常信息为:"+exception.message+"\n异常类型的字符串为:"+exception.name);
                      }

                      image.gif

                      使用 throw 语抛出异常

                      有些 JavaScript 代码并没有语法上的错误,但存在逻辑上的错误。对于这种错误,JavaScript 是不会抛出异常的。这时,就需要创建一个Error 对象的实例,并使用 throw 语句抛出异常。在程序中使用 throw 语句可以有目的地抛出异常。

                      throw 语句的语法格式如下:

                      throw new Error("somestatements");

                      image.gif


                      相关文章
                      |
                      28天前
                      |
                      JavaScript 前端开发 Java
                      springboot解决js前端跨域问题,javascript跨域问题解决
                      本文介绍了如何在Spring Boot项目中编写Filter过滤器以处理跨域问题,并通过一个示例展示了使用JavaScript进行跨域请求的方法。首先,在Spring Boot应用中添加一个实现了`Filter`接口的类,设置响应头允许所有来源的跨域请求。接着,通过一个简单的HTML页面和jQuery发送AJAX请求到指定URL,验证跨域请求是否成功。文中还提供了请求成功的响应数据样例及请求效果截图。
                      springboot解决js前端跨域问题,javascript跨域问题解决
                      |
                      15天前
                      纸屑飘落生日蛋糕场景js+css3动画特效
                      纸屑飘落生日蛋糕CSS3动画特效是一款js+css3制作的全屏纸屑飘落,生日蛋糕点亮庆祝动画特效。
                      32 3
                      |
                      15天前
                      |
                      Web App开发 移动开发 HTML5
                      html5 + Three.js 3D风雪封印在棱镜中的梅花鹿动效源码
                      html5 + Three.js 3D风雪封印在棱镜中的梅花鹿动效源码。画面中心是悬浮于空的梅花鹿,其四周由白色线段组成了一个6边形将中心的梅花鹿包裹其中。四周漂浮的白雪随着多边形的转动而同步旋转。建议使用支持HTML5与css3效果较好的火狐(Firefox)或谷歌(Chrome)等浏览器预览本源码。
                      51 2
                      |
                      1月前
                      |
                      JavaScript 前端开发
                      Moment.js与其他处理时间戳格式差异的JavaScript库相比有什么优势?
                      Moment.js与其他处理时间戳格式差异的JavaScript库相比有什么优势?
                      |
                      1月前
                      |
                      缓存 前端开发 JavaScript
                      优化CSS和JavaScript加载
                      优化CSS和JavaScript加载
                      |
                      1月前
                      |
                      缓存 前端开发 JavaScript
                      优化CSS和JavaScript加载
                      Next.js和Nuxt.js在优化CSS和JavaScript加载方面提供了多种策略和工具。Next.js通过代码拆分、图片优化和特定的CSS/JavaScript优化措施提升性能;Nuxt.js则通过代码分割、懒加载、预渲染静态页面、Webpack配置和服务端缓存来实现优化。两者均能有效提高应用性能。
                      |
                      1月前
                      |
                      前端开发 JavaScript
                      用HTML CSS JS打造企业级官网 —— 源码直接可用
                      必看!用HTML+CSS+JS打造企业级官网-源码直接可用,文章代码仅用于学习,禁止用于商业
                      130 1
                      |
                      1月前
                      |
                      前端开发 JavaScript 安全
                      HTML+CSS+JS密码灯登录表单
                      通过结合使用HTML、CSS和JavaScript,我们创建了一个带有密码强度指示器的登录表单。这不仅提高了用户体验,还帮助用户创建更安全的密码。希望本文的详细介绍和代码示例能帮助您在实际项目中实现类似功能,提升网站的安全性和用户友好性。
                      47 3
                      |
                      1月前
                      |
                      移动开发 HTML5
                      html5+three.js公路开车小游戏源码
                      html5公路开车小游戏是一款html5基于three.js制作的汽车开车小游戏源代码,在公路上开车网页小游戏源代码。
                      59 0
                      html5+three.js公路开车小游戏源码
                      |
                      27天前
                      JS+CSS3文章内容背景黑白切换源码
                      JS+CSS3文章内容背景黑白切换源码是一款基于JS+CSS3制作的简单网页文章文字内容背景颜色黑白切换效果。
                      17 0