沭阳网站建设/精准推广引流5000客源
前言
JavaScript的学习花的时间比较长,如何进行正确的学习?今天进行总结与整理。
首先,明确JavaScript是什么?它的结构框架是什么,有哪些操作与组成部分。
其次,通过案例实践,清楚达到什么效果,用到哪些知识内容。
然后,边实践案例的时候,边总结知识点,对比联系与区别。
最后,通过案例实践,融合自己的理解总结思维导图。
一、JavaScript
1.是什么?
JavaScript 是一种高级的、解释执行的编程语言,主要用于构建网页和应用的交互界面。它允许开发者实现网页的动态效果和响应用户行为,同时也被用于服务器端编程、移动应用开发等多种平台。
2.如何实现
(1)基础的语法知识
(2)BOM(Browse Object Model)——浏览器对象模型字节顺序标记
(3)DOM(Documen Object Model)——文档对象模型
二、基础语法
1.变量的三种声明方式
var | let | const | |
作用域 | 函数作用域或全局作用域(如果在函数外声明) | 具有块级作用域(block scope) | 块级作用域 |
变量提升 | 发生,提升到顶部 | 发生,不会被初始化(在代码执行声明之前,不可访问) | 发生,提升到顶部,(在代码执行声明之前,不可访问—“暂时性死区”) |
重复声明 | 重复声明同一个变量 | 在同一个作用域中,let不允许重新声明已经存在的变量。 | 在相同作用域内,不允许重复声明变量。 |
重新赋值 | 可以 | 该变量不能重复声明 | 该变量不能被重新赋值,它们必须在声明时初始化,并且声明后值是固定的。但是,如果const变量指向的是一个对象或数组,那么对象或数组的内容是可以被修改的。 |
2.对象与函数
特性 | 函数 (Function) | 对象 (Object) |
定义 | 使用 function 关键字或函数表达式定义 | 使用对象字面量或 new Object() 构造函数定义 |
本质 | 可执行的代码块,拥有调用执行的能力 | 键值对的集合,存储数据和可能包含方法(函数) |
属性 | 可以拥有属性,如 name, length 等 | 可以拥有任意数量的自定义属性和方法 |
方法 | 可以拥有方法,即属性值为函数 | 可以拥有方法,即属性值为函数 |
调用 | 使用圆括号 调用 | 通过点符号或方括号访问属性和方法 |
原型 | 拥有一个 prototype 属性,用于原型链继承 | 拥有一个 prototype 属性,用于原型链继承 |
构造函数 | 可以用作构造函数,使用 new 关键字创建新实例 | 可以用作构造函数,使用 new 关键字创建新实例 |
instanceof | 函数的实例会返回 true 当使用 instanceof 操作符检查该函数 | 对象的实例会返回 true 当使用 instanceof 操作符检查该对象的构造函数 |
this | 在函数调用时,this 指向调用它的上下文 | 在对象方法中,this 指向该对象 |
闭包 | 可以形成闭包,捕获外部函数的变量 | 不直接形成闭包,但可以包含形成闭包的函数 |
箭头函数 | 不绑定自己的 this,arguments,super 或 new.target | 不适用 |
词法作用域 | 有自己的词法作用域 | 不直接拥有词法作用域,但可以包含拥有词法作用域的函数 |
3、this是什么?如何使用?
应用场景 | 对象方法 | 构造函数 | 事件 |
指向 | 该方法的对象,严格情况下,this是undefined | 指向新创建的对象,构造函数的功能是初始化新对象 | 接收事件的元素,触发事件的DOM元素 |
改变this指向
call | apply | bind | |
传递参数 | 接受参数列表 | 接受一个参数数组 | |
作用 | 改变函数执行时this的指向 | 返回一个新的函数,并且函数的this永远绑定为指定的对象。 |
使用场景 | this 指向 |
全局作用域 | 在非严格模式下指向 window,严格模式下是 undefined |
对象方法 | 指向调用该方法的对象 |
构造函数 | 指向新创建的对象 |
箭头函数 | 继承自定义时的外部作用域 this |
事件处理器 | 指向触发事件的 DOM 元素 |
call/apply | 显式指定的 this 值 |
bind | 返回绑定了指定 this 的新函数 |
三、什么是DOM与BOM
DOM | BOM | |
是什么 | Documen Object Model——文档对象模型 | Browse Object Model——浏览器对象模型字节顺序标记 |
作用 | 用来获取或设置文档中标签的属性 | 用来获取或设置浏览器的属性、行为 |
特点 | 树状结构,文档中的元素被表示为节点,并按照树状结构进行组织 | 以浏览器窗口为中心,包括一些与浏览器窗口相关的对象 |
where | 文档内容的操作和交互 | 浏览器窗口和浏览器的交互 |
how | HTML 文档的层次结构被抽象为一个 DOM 树,这个树结构的每一个子节点表示 HTML 文档中的不同内容 | 在网页中定义的任何对象、变量和函数,都以 |
why | 为了操作文档出现的接口 | 为了控制浏览器的行为而出现的接口 |
四、JScript与javascript
JScript | JavaScript | |
是什么 | 微软开发的一种脚本语言,主要用于扩展微软的Internet Explorer浏览器的功能 | 一种被广泛支持的脚本语言,用于实现网页的动态效果和交互功能 |
设计理念 | 满足特定平台(如Windows)的需求 | 实现跨平台的兼容性 |
执行环境 | 主要在微软的Internet Explorer浏览器中运行 | 跨平台的脚本语言,被主流浏览器支持,也能在服务器端执行 |
支持功能与生态环境 | 用于特定的微软平台,它包含一些专为这些平台设计的特有功能和对象,如对ActiveX控件的支持 | 一系列基于JavaScript的框架和库被开发出来,拥有一个更为广泛和丰富的生态系统 |
适用环境 | Windows操作系统紧密相关,并且在Internet Explorer浏览器中得到广泛支持 | 常用于跨平台的Web应用程序开发,并且在各种浏览器中都有很好的兼容性。 |
区别 | 微软开发的一种脚本语言 | 由Netscape公司开发 |
JScript对COM对象(Component Object Model)的支持更好,这使得开发人员可以与Windows系统的其他组件进行交互 | JavaScript则提供了丰富的库和框架,用于构建交互式用户界面和实现各种功能。 |
五、高级使用
原型链的四种继承方式
继承方式 | 是什么 | 怎么用 | 优点 | 缺点 |
原型链继承 |
| 包含引用类型值的原型属性会被所有实例共享 | ||
构造函数继承 | 子类中执行父类型构造函数 | call或apply方法 | 原型的属性不会被共享 | 不能继承父类prototype上的属性 |
组合继承=原型链继承+构造函数继承 |
| 调用了两次Parent() 他在child的prototype上添加了父类的属性和方法 | ||
寄生组合继承 | Object.create(),创建一个空的对象,这个对象会指定prototype |
| Child.prototype的原始属性和方法会丢失 |
六、思维导图
tips:重要的还是多实践!!!
附上表单的相关练习与应用
相关文章:

JavaScript学习总结
前言 JavaScript的学习花的时间比较长,如何进行正确的学习?今天进行总结与整理。 首先,明确JavaScript是什么?它的结构框架是什么,有哪些操作与组成部分。 其次,通过案例实践,清楚达到什么效果…...

Python 3 教程第22篇(数据结构)
Python3 数据结构 本章节我们主要结合前面所学的知识点来介绍Python数据结构。 列表 Python中列表是可变的,这是它区别于字符串和元组的最重要的特点,一句话概括即:列表可以修改,而字符串和元组不能。 以下是 Python 中列表的方…...

AI时代的软件工程:迎接LLM-DevOps的新纪元
在科技日新月异的今天,GPT的问世无疑为各行各业带来了一场深刻的变革,而软件工程领域更是首当其冲,正式迈入了软件工程3.0的新纪元。2024年,作为软件工程3.0的元年,伴随着软件工程3.0宣言的震撼发布,一个全…...

linux安全管理-系统环境安全
1 历史命令设置 1、检查内容 检查操作系统的历史命令设置。 2、配置要求 建议操作系统的历史命令设置。 3、配置方法 编辑/etc/profile 文件,配置保留历史命令的条数 HISTSIZE 和保留历史命令的记录文件大小 HISTFILESIZE,这两个都设置为 5。 配置方法如…...

MindAgent部署(进行中.....)
第一步:pip install -r requirements.txt 问题:如下:就是我的服务器,无法访问github Preparing metadata (setup.py) ... errorerror: subprocess-exited-with-error python setup.py egg_info did not run successfully.│ exi…...

【JavaEE初阶 — 网络编程】TCP流套接字编程
TCP流套接字编程 1. TCP & UDP 的区别 TCP 的核心特点是面向字节流,读写数据的基本单位是字节 byte 2 API介绍 2.1 ServerSocket 定义 ServerSocket 是创建 TCP 服务端 Socket 的API。 构造方法 方法签名 方法说明 ServerS…...

《气候变化研究进展》
《气候变化研究进展》设有气候系统变化、气候变化影响、气候变化适应、温室气体排放、对策论坛、简讯等栏目,其内容包括:国内外气候变化研究的最新成果与进展,以及与气候变化有关的交叉学科,如地球科学、生态与环境科学、人文与社…...

D2545电动工具调速专用控制电路芯片介绍【青牛科技】
概述: D2545 是一块频率、占空比可调的脉冲控制电路。可通过调节外接的电阻和电容大小来控制输出频率和占空比,达到控制电机转速的作用。 主要特点: ● 电源电压范围宽 ● 占空比可调 ● 静态功耗小 ● 抗干扰能力强 应用: ● …...

Unity 2020、2021、2022、2023、6000下载安装
Unity 2020、2021、2022、2023、6000 下载安装 以Unity 6000.0.24fc1下载安装为例: 打开 https://unity.cn/ 优三缔 官方网站; 点击【产品列表】→点击【查看更多】→选择自己需要的版本→点【开始使用】 点击【从Unity Hub下载】 以Windows为例&am…...

33 基于单片机的智能窗帘控制系统
目录 一、主要功能 二、硬件资源 三、程序编程 四、实现现象 一、主要功能 基于51单片机,采用DHT11温湿度传感器检测温湿度,滑动变阻器连接ADC0832数模转换器转换模拟,光敏传感器,采用GP2D12红外传感器,通过LCD1602显示屏显示…...

【CSS in Depth 2 精译_063】10.2 深入理解 CSS 容器查询中的容器
当前内容所在位置(可进入专栏查看其他译好的章节内容) 【第十章 CSS 容器查询】 ✔️ 10.1 容器查询的一个简单示例 10.1.1 容器尺寸查询的用法 10.2 深入理解容器 ✔️ 10.2.1 容器的类型 ✔️10.2.2 容器的名称 ✔️10.2.3 容器与模块化 CSS ✔️ 10.3…...

记录一次 k8s 节点内存不足的排查过程
背景:前端服务一直报404,查看k8s日志,没发现报错,但是发现pods多次重启。 排查过程: 查看pods日志,发现日志进不去。 kubectrl logs -f -n weave pod-name --tail 100查看pod describe kubectl describ…...

探索天空中的“名字”——用Landsat影像记录你的名字形状!
大家好!今天我发现了一个特别有趣的工具——NASA官网上有一个功能,允许你输入自己的名字,然后它会根据Landsat卫星影像显示出与你名字形状相符的地形图。是不是很酷?🎉 🌍 Landsat影像的神奇之处Landsat是N…...

QT6学习第四天 感受QT的文件编译
QT6学习第四天 感受QT的文件编译 使用纯代码编写程序新建工程 使用其他编辑器纯代码编写程序并在命令行运行使用 .ui 表单文件生成界面使用自定义 C 窗口类使用现成的QT Designer界面类 使用纯代码编写程序 我们知道QT Creator中可以用拖拽的方式在 .ui 文件上布局,…...

透视投影(Perspective projection)与等距圆柱投影(Equirectangular projection)
一、透视投影 1.方法概述 Perspective projection(透视投影)是一种模拟人眼观察三维空间物体时的视觉效果的投影方法。它通过模拟观察者从一个特定视点观察三维场景的方式来创建二维图像。在透视投影中,远处的物体看起来比近处的物体小&…...

5 Java字符串操作
字符串操作 1、String类1.1 声明字符串1.2 创建字符串 1.3 字符串连接 /连接字符串连接其他数据类型 1.4 提取字符串信息获取字符串长度length()获取指定位置的字符 charAt()获取子字符串索引位置 indexOf()判断字符串首尾内容 startsWith()/endsWith()获取字符数组 toCharArra…...

【C++习题】17.二分查找算法_二分查找
文章目录 二分查找算法简介题目链接:题目描述:解法C 算法代码:图解总结朴素二分模板 二分查找算法简介 特点: 二分查找算法,是最恶心,细节最多,最容易写出死循环的算法。(而且非常难…...

Spring Boot英语知识网站:架构与开发
4系统概要设计 4.1概述 本系统采用B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式,是一个适用于Internet环境下的模型结构。只要用户能连上Internet,便可以在任何时间、任何地点使用。系统工作原理图如图4-1所示: 图4-1系统工作原理…...

Unity ShaderLab 实现网格爆炸
实现思路: 沿着3D物体每个面的法线,将面偏移一定的位置。 Shader Graph实现如下: Shader Lab 实现如下: Shader "Unlit/MeshExplode" {Properties{_MainTex ("Texture", 2D) "white" {}_Distan…...

2024/11/28学习日志
为了更好地记录并反思自己的学习状况,将每日学习的内容、时长、心得等记录于此日志。 于9月3日开始记录,计划每日记录,希望至少能够坚持一个学期。 学习内容: 数据结构: 拓扑排序。关键路径。 马原: 马…...

在shardingsphere执行存储过程
环境: springboot:2.5.2 数据库:Kingbase金仓V8R6 依赖: <dependency><groupId>org.apache.shardingsphere</groupId><artifactId>sharding-jdbc-spring-boot-starter</artifactId></depende…...

1.文件目录操作
目录 🍌 ls - 列出目录内容 🍉cp - 复制文件或目录 🍇mv - 移动或重命名文件 🍓 cd - 切换目录 🍈 pwd - 打印工作目录 🍒mkdir - 创建目录 🍑 rmdir - 删除空目录 🥭 touc…...

Vue单页面应用和多页面应用
在 Vue.js 中,“单页面”(SPA,Single Page Application)和"多页面"(MPA,Multi Page Application)是两种不同的应用结构,它们的差异主要体现在页面的加载方式、路由的使用、…...

Lombok :简化 Java 编程的得力工具
在 Java 开发过程中,常常需要编写大量的样板代码,例如构造函数、Getter 和 Setter 方法、equals 和 hashCode 方法等。这些代码虽然逻辑相对固定,但编写起来却较为繁琐且容易出错,并且会使代码显得冗长。Lombok 应运而生ÿ…...

AIGC引领金融大模型革命:未来已来
文章目录 金融大模型的应用场景1. **金融风险管理**2. **量化交易**3. **个性化投资建议**4. **金融欺诈检测和预防**5. **智能客户服务** 金融大模型开发面临的挑战应对策略《金融大模型开发基础与实践》亮点内容简介作者简介获取方式 在AIGC(Artificial Intellige…...

DBA面试题-1
面临失业,整理一下面试题,找下家继续搬砖 主要参考:https://www.csdn.net/?spm1001.2101.3001.4476 略有修改 一、mysql有哪些数据类型 1, 整形 tinyint,smallint,medumint,int,bigint;分别占用1字节、2字节、3字节…...

用go语言写一个小服务
文章目录 简介重新想到go 小服务main.go部署测试 结束语 简介 golang的优势 响应速度: Go > Java > Python 内存占用: Go < Java < Python 从java转go,然后go又转java,感觉就是go虽然在编译、内存占用都强于java&am…...

亚马逊开发视频人工智能模型,The Information 报道
根据《The Information》周三的报道,电子商务巨头亚马逊(AMZN)已开发出一种新的生成式人工智能(AI),不仅能处理文本,还能处理图片和视频,从而减少对人工智能初创公司Anthropic的依赖…...

WordCloud参数的用法:
-------------词云图集合------------- 用WordcloudPyQt5写个词云图生成器1.0 WordCloud去掉停用词(fit_wordsgenerate)的2种用法 通过词频来绘制词云图(jiebaWordCloud) Python教程95:去掉停用词词频统计jieba.toke…...

qml调用c++类内函数的三种方法
一.方法一:使用 Q_INVOKABLE 宏声明成员函数 1.第一步:依然需要新建一个类NetworkHandler: #include <QObject> class NetworkHandler : public QObject { Q_OBJECT public: explicit NetworkHandler(QObject *parent nullptr); Q_INVOKAB…...