JavaScript

204 阅读2分钟

JavaScript概念

  • 概念:一门客户端脚本语言
    • 运行在客户端浏览器中的。每一个浏览器都有JavaScript的解析引擎。
      • 脚本语言:不需要编译,直接就可以被浏览器运行了
    • 功能
      • 可以来增强用户和html页面的交互工程,可以来控制html元素,让页面有一些动态的效果,增强用户的体验。
    • JavaScript=ECMScript+BOM+DOM

ECMScript

客户端脚本语言的标准

  1. 基本语法:
    1. 与html结合方式
      1. 内部JS
        • 定义<script>,标签体内容就是js代码
      2. 外部JS
        • 定义<script>,通过src属性引入外部的js文件
      • 注意:
        1. <script>可以定义在html页面的任何地方。但是定义的位置会影响执行顺序
        2. <script>可以定义多个
          <!DOCTYPE html>
          <html lang="en">
          <head>
              <meta charset="UTF-8">
              <title>Title</title>
            <!--  内部JS
                外部JS
           -->
              <script>  //内部标签
                  //出现一个弹窗(显示“hello world”)
                  alert("hello world");
              </script>
      
              <script src="js/a.js"></script>  //外部标签
          </head>
          <body>
      
          </body>
          </html>
      

Snipaste_2023-01-13_15-50-15.png

2. 注释
    1. 单行注释://注释内容
    2. 多行注释:/*注释内容*/
3. 数据类型:
    1. 原始数据类型(基本数据类型)
        1. number:数字。整数/小数/NaN(not a number 一个不是数字的数字类型)
        2. string:字符串。字符/字符串  &nbsp;&nbsp;&nbsp;"abc" "a" 'abc'
        3. boolean:true和false
        4. null:一个对象为空的占位符
        5. underfine:未定义。如果一个变量没有给初始化值,则会被默认赋值为underfine
    2. 引用数据类型:对象
4. 变量
    * 变量:一小块存储数据的内存空间
    * Java语言是强类型语言,而JavaScript是弱类型语言。
        * 强类型:在开辟变量存储空间时,定义了空间将来存储的数据类型。只能存储固定类型的数据。
        * 弱类型:在开辟变量存储空间时,不定义空间将来的存储数据类型,可以存放任意类型的数据。
        * var 变量名=初始化值;
    * typeof运算符:获取变量的类型
        * 注:null运算后得到的是object
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
  <script>
    //定义变量
    // var a=3;
    // alert(a);
    // a='abc';
    // alert(a);
    //定义number类型
    var num=1;
    var num2=1.2;
    var num3=NaN;
    //输出到页面上
    document.write(num+"<br>");
    document.write(num2+"<br>");
    document.write(num3+"<br>");
    //定义string类型
    var str="abc";
    var str2='edf';
    document.write(str+"<br>");
    document.write(str2+"<br>");
    //定义Boolean类型
    var flag=true;
    document.write(flag+"<br>");
    //定义null
    var obj=null;
    var obj2=undefined;
    var obj3;
    document.write(obj+"<br>");
    document.write(obj2+"<br>");
    document.write(obj3+"<br>");
  </script>
</head>
<body>

</body>
</html>

结果为:

联想截图_20230113223548.png

//定义number类型
var num=1;
var num2=1.2;
var num3=NaN;
//输出到页面上,并且打印出数据类型
document.write(num+"---"+typeof (num)+"<br>");
document.write(num2+"---"+typeof (num)+"<br>");
document.write(num3+"---"+typeof (num)+"<br>");
5. 运算符
    1. 一元运算符:只有一个运算数的运算符
    2. 算术运算符:  ` + - * %...` 
    3. 赋值运算符:=  +=   -+...    
    4. 比较运算符  
   <    >   >=   <=   ==    ===(全等于) 
    5. 逻辑运算符  
    `&&   ||   |`
    
    6. 三元运算符  
    ?  :

    7. 流程控制语句
  • ++ -- +(正号)
  • ++ --:自增(自减)
    • ++(--)在前,先自增(自减),再运算
    • ++(--)在后,先运算,再自增(自减)
      • +(-):正负号
      • 注意:在JS中,如果运算数不是所需求的类型 ,那么js一起会自动的将运算数进行类型转换
        • 其他类型转number;
          • string转number:按照字面值转换。如果字面值不是数字,则转为NaN(不是数字的数字)
          • boolean转number:true转为1,false转为0
          <!DOCTYPE html>
          <html lang="en">
          <head>
              <meta charset="UTF-8">
              <title>Title</title>
            <script>
              var num=3;
              var a=++num;
              document.write(num+"<br>"); //4
              document.write(a+"<br>");// 4
              // document.write("<hr>");
              var b=+"abc";
              alert(typeof (b)); //number
              alert(b+1);  //NaN
              var flag=+true;
              var f2=+false;
              document.write(typeof (flag)+"<br>");   //number
              document.write(flag+"<br>");  // 1
              document.write(f2+"<br>");    //  0
              </script>
          </head>
          <body>
          </body>
          </html>  
          
    1. 算术运算符: + - * %...

    2. 赋值运算符:= += -+...

    3. 比较运算符
      < > >= <= == ===(全等于)

  • 比较运算符:
    • 比较方式
    1. 类型不同:先进行类型转换,再比较
    • ===:全等于(比较特殊):在比较之前,先判断类型,如果类型不一样,则直接返回false
    1. 类型相同:直接比较
    • 字符串,按照字典顺序比较,按位逐一比较,直到得出大小为止。

    1. 逻辑运算符
      && || !
      !:非
    • 其他类型转boolean;
      • number:0或NaN为假,其他为真

      • string

      • null & underline

      • 对象;

      1. 三元运算符
        ? :

      2. 流程控制语句

  1. 基本对象