• JavaScript



    介绍

    JavaScript是一门跨平台、面向对象的脚本语言,来控制网页行为,它能使网页可交互
    JavaScript和Java是完全不同的语言,不论是概念还是设计。但是基础语法类似
    javaScript插入HTML页面后,可由所有的现代浏览器执行。
    JavaScript语言不需要编译,直接由各大浏览器解析运行
    学习这门语言不需要单独安装软件,只需要浏览器即可
    浏览器执行JS介绍
    浏览器分成俩部分:

    • 渲染引擎:用来解析HTML和CSS,俗称内核
    • JS引擎:也称JS解释器。用来读取网页中的JS代码,对其处理后运行

    浏览器本身并不会执行JS代码,而是通过内置JavaScript引擎(解释器)来执行JS代码。JS引擎执行代码时逐行解释每一行源码(转换为机器语言),然后由计算机去执行。所有JavaScript语言归为脚本语言,会逐行解释执行。

    引入方式

    内部脚本

    将JS代码定义在HTML页面中
    在HTML中,JavaScript代码必须位于之间
    注意

    • 在HTML文档中可以在任意位置,放置任意数量的

    外部脚本

    将JS代码定义在外部的JS文件中,然后引入到HTML页面中
    Snipaste_2024-04-25_14-41-39.png
    注意

    • 外部的js文件中不能包含

    基础语法

    书写语法

    1. 区分大小写:与Java一样,变量名、函数以及其他一切东西都区分大小写
    2. 每行结尾的分号可有可无
    3. 注释:
      1. 单行注释://注释内容
      2. 多行注释:/注释内容/
    4. 大括号表示代码块

    输出语句

    • 使用window.alert() 写入警告框
    • 使用document.write() 写入HTML输出
    • 使用console.log() 写入浏览器控制台

    变量

    JavaScript中var关键字来声明变量
    JavaScript是一门弱类型语言,变量可以存放不同类型的值
    变量名和Java类似
    ECMAScript6新增了用let关键字来定义变量。它的用法类似于var,但是所声明的变量,只在let关键字所在的代码块内有效,且不允许重复声明
    ECMAScript6新增了const关键字,用来声明一个只读的常量。一旦声明,常量的值就不能改变

    数据类型

    JavaScript中分为:原始类型和引用类型

    原始类型

    • number:数字(整数,小数,NAN(Not a Number))
    • string:字符、字符串,单双引号皆可
    • boolean:布尔 true,false
    • null:对象为空
    • undefined:当声明的变量未初始化时,该变量的默认值是undefined

    undefined==null
    es6开始定义字符类型可以使用返单引号,可以简化字符类型数据的拼接

    console.log(`哈哈` + 10 + "ss" + true );
    //哈哈10sstrue
    
    • 1
    • 2

    引用类型

    • 就是对象 Object,Date等

    使用typeof运算符可以获取数据类型
    typeof 变量名

    运算符

    Snipaste_2024-04-25_15-28-17.png
    =的区别

    • ==属于非严格比较,如果运算符俩侧的数据类型不一致,那么先转换成一致,然后再比较数值
    • ===属于严格比较,如果运算符俩侧的数据类型不一样,直接返回false;如果俩侧数据类型一致再比较数值

    !=和!==的区别

    • !=是==的取反
    • =的取反

    类型转换

    • 字符串转化为数字,方法parseInt(),从左向右解析,遇到非数值就停止解析,字面值不是数字,转为NaN
    • boolean转换数字,用方法Number()
    • 其他类型转化为boolean类型 使用Boolean(balue)函数
      • 0,NAN,空字符串,null,undefined转为false
      • 其他都转为true

    流程控制语句

    if,switch,for,while,do…while

    函数

    函数(方法)是被设计为执行特定任务的代码块

    普通函数

    语法
    function 函数名(参数1,参数2…){
    函数体
    }

    • 形式参数不需要类型,JavaScript是弱类型语言
    • 返回值也不需要定义类型,可以在函数内部直接使用return返回即可

    JavaScript中的函数必须被调用才能执行
    JavaScript中不存在方法的重载,只要函数名相同,那么就认为是一个函数,后面的函数会覆盖掉前面的函数
    注意事项

    1. 调用有参数的函数可以不传递实参
    2. 调用无参数的函数可以传递实参,传递的实参会放到js中的一个内置数组对象arguments中,我们可以遍历数组取出数据

    匿名函数

    没有名字的函数
    格式一:将匿名函数赋值给一个变量

    
    DOCTYPE html>
    
    <html lang="en">
    
    <head>
        
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        
        <title>titletitle>
    head>
    <body>
      <script type="text/javascript">
          /*
            js中的函数:匿名函数,就是没有名字的函数
            定义格式
            let 函数名 = function(参数列表){
              函数体
            }
           */
    
           let sum = function(a,b){
            return a+b;
           };
    
           console.log(sum(3,4));
        
      script>
    body>
    html>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32

    格式二:匿名函数作为另一个函数的参数传递

    
    DOCTYPE html>
    
    <html lang="en">
    
    <head>
        
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        
        <title>titletitle>
    head>
    <body>
    <script type="text/javascript">
        /*
          js中的函数:匿名函数,就是没有名字的函数
          匿名函数作为另一个函数的参数传递
         */
        
        function add(x){
            console.log("普通函数");
    
           x();
        }
    
        add(function(){
            console.log("匿名函数");
        });
    
    
    script>
    body>
    html>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34

    这个就相当于let x = function(){};

    对象

    Array

    格式1
    let arr = new Array(元素列表);

    1. 当元素列表中就一个整数时,表示数组的长度为整数
    2. 当元素列表为一个小数时,会报错,数组长度不可能为小数
    3. 当元素列表为一个非number类型的值,表示数组的元素
    4. js的数组长度是可变的

    格式2
    let arr = [元素列表];
    当元素列表为一个数时,都为该数组的元素
    函数
    push() 将新元素添加到数组的末尾,并返回新的数组长度
    splice(index,n) 从数组中删除元素。index表示从哪个索引删除,n表示删除数据个数
    增强for
    for{let x of arr}{
    console.log(x);
    }

    RegExp正则对象

    定义了字符串组成的规则
    格式1
    let reg = /^正则表达式符号 / ; < b r / > ∗ ∗ 格式 2 ∗ ∗ : < b r / > l e t r e g = n e w R e g E x p ( " 正 则表达式符号 /;
    **格式2**:
    let reg = new RegExp("^正则表达式符号
    /;<br/>格式2<br/>letreg=newRegExp("则表达式符号
    ");
    语法
    Snipaste_2024-04-25_20-42-40.png
    方法
    test(str):判断指定字符串是否符合规则,返回true和false

    String

    格式1
    let 变量名 = new String(s);
    格式2
    let 变量名 = s
    属性
    length 字符串的长度
    方法
    charAt() 返回在指定位置的字符
    indexOf() 查找指定字符串在原字符串中最开始出现的索引
    lastIndexof() 查找指定字符串在原字符串从右往左第一次出现的索引

    自定义对象

    let 对象名称 = {
              属性名称1:属性值1,
              属性名称2:属性值2,
              ...
              函数名称:function (形参列表){}
              ...
            };
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    要想使用属性值,使用对象名称调用
    方法中要相使用属性值,可以使用this或对象名称

  • 相关阅读:
    【云原生 | Kubernetes 实战】05、Pod高级实战:基于污点、容忍度、亲和性的多种调度策略(上)
    yolov5——detect.py代码【注释、详解、使用教程】
    HTML网页设计【足球科普】学生DW静态网页设计
    闪存 64TQFP CY8C6244AZI-S4D92 32 位双核微控制器
    网络工程试验(一)链路聚合的三种情况
    (Java高级教程)第五章Linux使用和程序部署-第一节:Linux基本介绍和云服务器使用
    深入解析 Azure 机器学习平台:架构与组成部分
    如何平衡需求的优先级冲突?
    PythonAppium自动化测试环境搭建
    C++ 对象模型浅析
  • 原文地址:https://blog.csdn.net/m0_69266818/article/details/138199947