前置知识补充—JavaScript

news2024/12/23 15:41:09

JavaScript 简介

JavaScript 是什么

JavaScript (简称 JS), 是⼀个脚本语⾔, 解释型或即时编译型的编程语⾔. 虽然它是作为开发Web⻚⾯的脚本语⾔⽽出名,但是它也被⽤到了很多⾮浏览器环境中
HTML:                  ⽹⻚的结构
CSS:                     ⽹⻚的表现
JavaScript:          ⽹⻚的⾏为

如需在 HTML 页面中插入 JavaScript,请使用 <script> 标签

<script> 和 </script> 会告诉 JavaScript 在何处开始和结束

<script> 和 </script> 之间的代码行包含了 JavaScript

在浏览器页面  Fn + F12    ——>

检查元素、修改样式、调试代码、网络分析、控制台输出等浏览器开发者工具功能

console.log()  打印日志

变量

JavaScript 是⼀⻔动态弱类型语⾔,变量可以存放不同类型的值(动态)

随着程序的运⾏, 变量的类型可能会发⽣改变

        var a = 10;

        var b = "10";

        console.log(a==b);

        console.log(a===b);

== ⽐较相等(会进⾏隐式类型转换)
=== ⽐较相等(不会进⾏隐式类型转换)

数据类型

    <script>

        var a = 10;

        console.log("a" + typeof a);        

        a = "你好";

        console.log("a" + typeof a);        

        let b = 20;

        console.log("b" + typeof b);

        var c = true;

        console.log("c" + typeof c);

        var d;

        console.log("d" + typeof d);

    </script>

JavaScript对象

数组

1. 如果下标超出范围读取元素, 则结果为 undefined
2. 不要给数组名直接赋值, 此时数组中的所有元素都没了
相当于本来 arr 是⼀个数组, 重新赋值后变成字符串了        

        var a = new Array();

        a[0] = 1;           //增

        a[1] = "你好";

        console.log(a);

        console.log(a[1]);  //查

        a[0] = 2;           //改

        console.log(a);

       

        var b = [1,2,"你好啊",true];

        console.log(b);

        b.splice(2,1);      //删

        console.log(b);

               

        b[100] = 3;

        b['h'] = "hello"

        console.log(b);

函数     

函数定义并不会执⾏函数体内容, 必须要调⽤才会执⾏. 调⽤⼏次就会执⾏⼏次
调⽤函数的时候进⼊函数内部执⾏, 函数结束时回到调⽤位置继续执⾏. 可以借助调试器来观察
函数的定义和调⽤的先后顺序没有要求. (这⼀点和变量不同, 变量必须先定义再使⽤)
实参和形参之间的个数可以不匹配. 但是实际开发⼀般要求形参和实参个数要匹配
1. 如果实参个数⽐形参个数多, 则多出的参数不参与函数运算
2. 如果实参个数⽐形参个数少, 则此时多出来的形参值为 undefined
此时形如 function() { } 这样的写法定义了⼀个匿名函数, 然后将这个匿名函数⽤⼀个变量来表示
后⾯就可以通过这个 c 变量来调⽤函数了

      var a = function add(x,y){

            console.log(x+y);            

        }

        console.log(typeof add);

        console.log(typeof a);

       

        function add(x,y){

            console.log(x+y);          

        }

        add(1,2);

       

        var b = function add(x,y){

            console.log(x+y);

        }

        b(1,2);

        var c = function (x,y){

            console.log(x+y);

        }

        c(1,2);

        c(1);

        c(1,2,3);

        c("你好");

对象

在 JS 中, 字符串, 数值, 数组, 函数都是对象
每个对象中包含若干的属性和⽅法
属性: 事物的特征
⽅法: 事物的⾏为
1. 使⽤ 字⾯量 创建对象 [常⽤]                              使⽤ { } 创建对象
使⽤ { } 创建对象
属性和⽅法使⽤键值对的形式来组织
键值对之间使⽤ , 分割. 最后⼀个属性后⾯的 , 可有可⽆
键和值之间使⽤ : 分割
⽅法的值是⼀个匿名函数
/ 1. 使⽤ . 成员访问运算符来访问属性 `.` 可以理解成 " "
console . log (student.name);
// 2. 使⽤ [ ] 访问属性 , 此时属性需要加上引号
console . log (student[ 'height' ]);
// 3. 调⽤⽅法 , 别忘记加上 ()
student. sayHello ();
2. 使⽤ new Object 创建对象
var student = new Object (); // 和创建数组类似
student.name = " 明云 " ;
student.height = 175 ;
student[ 'weight' ] = 170 ;
student.sayHello = function () {
     console . log ( "hello" );
}
console . log (student.name);
console . log (student[ 'weight' ]);
student. sayHello ();
注意, 使⽤ { } 创建的对象也可以随时使⽤ student.name = "明 "; 这样的⽅式来新增属性
3. 使⽤ 构造函数 创建对象
function 构造函数名 ( 形参 ) {
   this . 属性 = ;
   this . ⽅法 = function ...
}
var obj = new 构造函数名 ( 实参 );
注意:
在构造函数内部使⽤ this 关键字来表⽰当前正在构建的对象
构造函数的函数名⾸字⺟⼀般是⼤写的
构造函数的函数名可以是名词
构造函数不需要 return
创建对象的时候必须使⽤ new 关键字
this 相当于 "我"

        var a = {};         //创建空对象

        var student = {

            name:'明云',

            height:175,

            weight:170,

            sayHello:function(){

                console.log("hello");                

            }

        };

        //获取对象的属性

        console.log(student.height);

        console.log(student['weight']);

        //添加属性

        student.ago = 18;

        student['gender'] = "男";        

        console.log(student);

        a.age = 13;

        console.log(a);      

JQuery

jQuery是⼀个快速、简洁且功能丰富的JavaScript框架

引⼊依赖

在使⽤jQuery CDN时,只需要在HTML⽂档中加⼊如下代码

<script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>

网站地址 jQuery CDN

src 属性指明了JQuery库所在的URL. 这个URL是CDN(内容分发⽹络)服务提供商为jQuery库
提供的⼀个统⼀资源定位符
开发时, 建议把JQuery库下载到本地, 放在当前项⽬中. 引⼊外部地址, 会有外部地址不能访问的⻛险
下载⽅式:
1. 通过浏览器访问上述连接
2. 右键 -> 另存为.... 保存到本地, 放在项⽬中即可

JQuery 语法

jQuery 语法是通过选取 HTML 元素, 并对选取的元素执⾏某些操作

$(selector).action()
$() 是⼀个函数, 它是 jQuery 提供的⼀个全局函数, ⽤于选择和操作 HTML 元素
Selector 选择器, ⽤来"查询"和"查找" HTML 元素
action 操作, 执⾏对元素的操作

JQuery 选择器

JQuery选择器 基于已经存在的CSS选择器, 除此之外, 还有⼀些⾃定义的选择器.
jQuery 中所有选择器都以 $ 开头:$()

    <p><a href="https://www.sogou.com/">搜狗</a></p>

    <img src="D:\前端代码\微信图片_20240524141849.jpg" width="200px"/>

    <script src="D:\前端代码\JQrery.js"></script>

    <script>

        //获取元素属性

        var a = $("p a").attr("href");

        console.log(a);

        $("p a").attr("href","http://www.baidu.com");

        // $("img").attr("width","500px");

        $("#test").click(function(){

            $("img").attr("width","500px");

        });

JQuery事件

JS 要构建动态⻚⾯, 就需要感知到⽤⼾的⾏为
⽤⼾对于⻚⾯的⼀些操作(点击, 选择, 修改等) 操作都会在浏览器中产⽣⼀个个事件, 被 JS 获取到, 从⽽进⾏更复杂的交互操作

操作元素

text()  设置或返回所选元素的⽂本内容

html()  设置或返回所选元素的内容(包括 HTML 标签)
val()  设置或返回表单字段的值
这三个⽅法即可以获取元素的内容, ⼜可以设置元素的内容
有参数时, 就进⾏元素的值设置, 没有参数时, 就进⾏元素内容的获取

attr() ⽅法⽤于获取属性值

css() ⽅法设置或返回被选元素的⼀个或多个样式属性
1. append() : 在被选元素的结尾插⼊内容
2. prepend() : 在被选元素的开头插⼊内容
3. after() : 在被选元素之后插⼊内容
4. before() : 在被选元素之前插⼊内容
5. remove() : 删除被选元素(及其⼦元素)
6. empty() : 删除被选元素的⼦元素

     <ol>

        <li>List1</li>

        <li>List2</li>

        <li>List3</li>

    </ol>

    <script>

        $("ol").append("<li>append</li>");

        $("ol").prepend("<li>prepend</li>");

        $("ol").before("before");

        $("ol").after("after");

    </script>

    <ol>

        <li>List1</li>

        <li>List2</li>

        <li>List3</li>

    </ol>

    <div id="div1">我是一个div</div>

    <button id="remove">删除div</button>

    <button id="empty">清空ol</button>        

    <script>

        $("#remove").click(function(){

            $("#div1").remove();

            // $("div").remove();

        });

        $("#empty").click(function(){

            $("ol").empty();

        })

综合案例

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2264300.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Mac上详细配置java开发环境和软件(更新中)

文章目录 概要JDK的配置JDK下载安装配置JDK环境变量文件 Idea的安装Mysql安装和配置Navicat Premium16.1安装安装Vscode安装和配置Maven配置本地仓库配置阿里云私服Idea集成Maven Cpolar快速入门 概要 这里使用的是M3型片 14.6版本的Mac 用到的资源放在网盘 链接: https://pan…

第二十六周机器学习笔记:PINN求正反解求PDE文献阅读——正问题

第二十六周周报 摘要Abstract文献阅读《Physics-informed neural networks: A deep learning framework for solving forward and inverse problems involving nonlinear partial differential equations》1. 引言2. 问题的设置3.偏微分方程的数据驱动解3.1 连续时间模型3.1.1 …

米思奇图形化编程之ESP32控制LED灯闪烁方案实现

目录 一、项目概述 二、硬件准备 三、硬件连接 四、软件编程 五、验证效果 六、总结 一、项目概述 本项目使用米思奇图形化编程环境&#xff0c;编写micropython软件代码&#xff0c;实现了控制ESP32开发板上LED灯闪烁效果。该项目可为后续更复杂的物联网项目打下基础。…

完全离线使用,效率直接拉满

现在越来越多的人使用OCR软件来提高自己的工作效率&#xff0c;今天给大家推荐一款电脑端的文字识别工具&#xff0c;对比以往的软件来说&#xff0c;功能更加丰富全面。 Umi-OCR 美术、舞蹈、音乐 打开软件之后需要安装一下。 软件主要有截图OCR识别、批量OCR识别、批量文档识…

CSDN外链失效3:

参考我之前的博客&#xff1a; 外链失效博客1&#xff1a;随想笔记1&#xff1a;CSDN写博客经常崩溃&#xff0c;遇到外链图片转存失败怎么办_csdn外链图片转存失败-CSDN博客 外链失效博客2&#xff1a;网络随想2&#xff1a;转语雀_md格式转语雀lake格式-CSDN博客 markdown…

Java 中的字符串

目录 Java 中的字符串字符串的创建字符串的比较字符串的拼接如何定义一个空的字符串 Java 中的字符串 字符串的创建 在 Java 中&#xff0c;可以通过以下几种方式创建字符串&#xff1a; 1.使用字符串字面量&#xff1a; String str "Hello, World!";2.使用 new…

U盘结构损坏且无法访问:原因、恢复方案与预防措施

U盘结构损坏现象描述 U盘&#xff0c;这一小巧便捷的存储设备&#xff0c;在日常工作和学习中扮演着重要角色。然而&#xff0c;当U盘出现结构损坏且无法访问时&#xff0c;用户往往会陷入焦虑与困惑。具体表现为&#xff0c;将U盘插入电脑后&#xff0c;系统无法识别U盘&…

basic_ios及其衍生库(附 GCC libstdc++源代码)

basic_ios及其衍生库(附 GCC libstdc源代码) 我们由这张图展开我们的讨论 对于Date对象&#xff0c;只有实现了<<重载到输出流才可以插入到stringstream ss中 现在我有疑问stringstream是怎么做到既能输出又能输入的&#xff1f; 而且为什么stringstream对象能传给ostre…

【开源库 | minizip】Linux(Ubuntu18.04)下,minizip的编译、交叉编译

&#x1f601;博客主页&#x1f601;&#xff1a;&#x1f680;https://blog.csdn.net/wkd_007&#x1f680; &#x1f911;博客内容&#x1f911;&#xff1a;&#x1f36d;嵌入式开发、Linux、C语言、C、数据结构、音视频&#x1f36d; ⏰发布时间⏰&#xff1a; 2024-12-20 …

Gin-vue-admin(1):环境配置和安装

目录 环境配置如果443网络连接问题&#xff0c;需要添加代理服务器 后端运行前端运行 环境配置 git clone https://gitcode.com/gh_mirrors/gi/gin-vue-admin.git到server文件目录下 go mod tidygo mod tidy 是 Go 语言模块系统中的一个命令&#xff0c;用于维护 go.mod 文件…

java: 无效的目标发行版: xx

java: 无效的目标发行版: xx 背景java: 无效的目标发行版: xx 在 Intellij 的修复 背景 这里单独针对Intellij开发工具对 “java: 无效的目标发行版: xx”错误的修复。 java: 无效的目标发行版: xx 在 Intellij 的修复 同一台电脑使用多个JDK的时候容易出现在运行程序时容易…

vscode+编程AI配置、使用说明

文章目录 [toc]1、概述2、github copilot2.1 配置2.2 使用文档2.3 使用说明 3、文心快码&#xff08;Baidu Comate&#xff09;3.1 配置3.2 使用文档3.3 使用说明 4、豆包&#xff08;MarsCode&#xff09;4.1 配置4.2 使用文档4.3 使用说明 5、通义灵码&#xff08;TONGYI Lin…

leetcode-80.删除有序数组的重复项II-day12

总结&#xff1a;不必过于死磕一道题目&#xff0c;二十分钟没做出来就可参考题解

Docker 入门:如何使用 Docker 容器化 AI 项目(一)

引言 在人工智能&#xff08;AI&#xff09;项目的开发和部署过程中&#xff0c;环境配置和依赖管理往往是开发者遇到的挑战之一。开发者通常需要在不同的机器上运行同样的代码&#xff0c;确保每个人使用的环境一致&#xff0c;才能避免 “在我的机器上可以运行”的尴尬问题。…

EdgeX Core Service 核心服务之 Core Command 命令

EdgeX Core Service 核心服务之 Core Command 命令 一、概述 Core-command(通常称为命令和控制微服务)可以代表以下角色向设备和传感器发出命令或动作: EdgeX Foundry中的其他微服务(例如,本地边缘分析或规则引擎微服务)EdgeX Foundry与同一系统上可能存在的其他应用程序…

Keil5 STM32库函数的工程

库函数来间接的操作寄存器 条件编译&#xff0c;如果你定义了USE_STDPERIPH_DRIVER &#xff08;使用标准外设驱动&#xff09;这个字符串&#xff0c;stm32f10x_conf.h才有效

Vue2五、自定义指令,全局局部注册、指令的值 ,插槽--默认插槽,具名插槽 ( 作用域插槽)

一、自定义指令 使用步骤 1. 注册 (全局注册 或 局部注册) &#xff0c;在 inserted 钩子函数中&#xff0c;配置指令dom逻辑 2. 标签上 v-指令名 使用 1、自定义指令&#xff08;全局&#xff09; Vue.directive("指令名"&#xff0c;{ 指令的配置项 insert…

Docker部署GitLab服务器

一、GitLab介绍 1.1 GitLab简介 GitLab 是一款基于 Git 的开源代码托管平台&#xff0c;集成了版本控制、代码审查、问题跟踪、持续集成与持续交付&#xff08;CI/CD&#xff09;等多种功能&#xff0c;旨在为团队提供一站式的项目管理解决方案。借助 GitLab&#xff0c;开发…

MySQL基础笔记(三)

在此特别感谢尚硅谷-康师傅的MySQL精品教程 获取更好的阅读体验请前往我的博客主站! 如果本文对你的学习有帮助&#xff0c;请多多点赞、评论、收藏&#xff0c;你们的反馈是我更新最大的动力&#xff01; 创建和管理表 1. 基础知识 1.1 一条数据存储的过程 存储数据是处理数…

使用qemu搭建armv7嵌入式开发环境

目录 目录 1 概述 2 环境准备 2.1 vexpress系列开发板介绍 2.2 安装工具 2.2.1 安装交叉工具链 2.2.2 安装qemu 2.2.3 安装其他工具 3 启动uboot 3.1 uboot下载与编译 3.1.1 下载 3.1.2 编译 3.2 使用qemu启动uboot 4 启动kernel 4.1 下载和编译kernel 4.1.1 下…