为什么JavaScript这么难学啊?

news2024/11/16 18:37:24

前言

觉得Js难其实是很正常的,首先这证明你在某些知识点上没有理解透彻,JS挺多的知识点点其实是比较抽象的,比如闭包、原型和原型链等,其次便是不会变通运用,这主要是敲代码熟练度的问题,所以我针对你这种情况提供给你一些学习的方法以及相关知识点的学习路线供参考》

1、认识到JS在前端中的作用是什么,重视原生Js的学习。

2、设计一个合理的学习路线,合适的学习路线可以帮助你循循渐进的掌握Js的知识点,我下面会分享自己总结的学习路线以及知识点的链接资源整合供参考(详见下文)。

3、无论你是采取看视频还是查文档等的方式去学习,一定要学会自我总结,听完一个知识点以自己的理解对对应知识点归纳,确保自己回头再看时能看明白。

4、思维导图,做的时候很痛苦但是做的是一个十分有效的复习和查缺补漏的方式,它可以会直接的呈现你对于一个知识点的掌握程度,同时也能及时补漏。

5、项目实战,做项目能最快的帮助你认识到自己对于整体Js学习的大致情况,同时体验Js的实际运用可以让你对知识点的认识达到一个新高度

下面是学习规划以及相关资源的分享:

相关教学视频

黑马前端】JavaScript课程:https://www.bilibili.com/video/BV1Sy4y1C7ha/

objtube的卢克儿】JS运行原理:https://www.bilibili.com/video/BV1vh411Z7QG/

部分重要知识点

基础性知识

·声明变量

·null 和 undefined

·详解JavaScript严格模式

运算符&流程控制

· 运算符

·三大流程控制语句

数组

·数组基础知识点

·数组操作函数汇总

对象

·对象详解教程

Set集合

·Set对象

· WeakSet

Map

· Map对象

· WeakMap

函数进阶

·函数声明的几种形式及用法

·立即执行函数(IIFE)

· 函数参数——深入理解参数传递、参数默认值、参数的收集与展开

·JS如何使用递归?

·全面解析this关键字

####

作用域和闭包

· 执行上下文和执行栈

·作用域和作用域链

·闭包的概念、原理、作用及应用

原型与继承

·原型与原型链

·常用八种继承方案

·类(class) 基础知识

·Static 方法

·类继承

模块化

模块化—模块暴露与模块引入

正则表达式

·正则表达式语法大全

·全网最全JavaScript正则表达式( 校验数字和字母)

Promise

·理解JavaScript Promise

·帮你弄懂Promise原型方法then、catch、finally

·图解 Promise 实现原理—— Promise 链式调用 

·理解 JavaScript 的 async/await )

DOM&BOM对象

·DOM绑定事件、事件流机制、事件委托、事件对象

·DOM操作整理

·BOM操作整理

· AJAX跨域

·本地存储详解

空间坐标

·空间坐标的使用

事件

·事件(event)处理

·事件参考手册

·HTML DOM 事件监听程序

网络请求

·XMLHttpRequest入门教程(非常详细)

·JS 通过 fetch 请求数据

canvas

·Canvas 教程 - Web API 接口参考

持续更新中...

写在最后

原生JS基础十分的重要,循环渐进式的学习就不要纠结自己在原生JS上花的时间是否太多,后面要学习的内容都是建立在此的基础之上,基础的知识需要的是时间的沉淀以及大量的代码实操,相信你按照这样的一个心态去学习,无论后面学习什么,你都能在心中做出一个合理的规划,包括以后JS的更新换代,你都能有自己的学习方法和技巧,希望对你有帮助!

 

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

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

相关文章

架构运维篇(六):MySQL 8.0启用BinLog 支持

上一篇:架构运维篇(五):Centos7/Linux中安装RocketMQ 最新线上的项目终于到多个数据执行的问题,找了团队DBA发现云上的MySQL 默认是没有启用BinLog支持。 小编研究了一下很简单,不过中间也遇到一些坑可以给…

结构重参数化(Structural Re-Parameters)PipLine

文章目录BASICSstrcutural Inception算法思想算法核心算法架构Re-Parameter四部曲:ACNetACNet原理ACNet分析涨点原因推理阶段融合机制Re-Parameter四部曲:RepVGGRepVGG原理RepVGG分析RepVGG BlockStructural Re-Parameters融合conv2d和BN融合1x1conv转换…

【一文讲通】样本不均衡问题解决--下

1欠采样、过采样欠采样:减少多数类的数量(如随机欠采样、NearMiss、ENN)。过采样:尽量多地增加少数类的的样本数量(如随机过采样、以及2.1.2数据增强方法),以达到类别间数目均衡。还可结合两者做…

地址解析协议ARP

目录地址解析协议ARP1、流程2、动态与静态的区别3、ARP协议适用范围地址解析协议ARP 如何从IP地址找出其对应的MAC地址? 1、流程 ARP高速缓存表 当主机B要给主机C发送数据包时,会首先在自己的ARP高速缓存表中查找主机C的IP地址所对应的MAC地址&#xf…

Linux常用命令——lsblk命令

在线Linux命令查询工具 lsblk 列出块设备信息 补充说明 lsblk命令用于列出所有可用块设备的信息,而且还能显示他们之间的依赖关系,但是它不会列出RAM盘的信息。块设备有硬盘,闪存盘,cd-ROM等等。lsblk命令包含在util-linux-ng…

ES报文辅助生成工具-JavaFX

此程序为基于 Java8 开发的 JavaFX Maven 工程&#xff0c;是 Java 组装ElasticSearch请求报文工具的辅助 Java 代码生成工具&#xff0c;方便开发者快速编写代码。现学现用&#xff0c;写得不好。 工具界面 代码 pom.xml <project xmlns"http://maven.apache.org/P…

Android:URLEncoder空格被转码为“+”号

Android前段和后端接口交互时&#xff0c;经常会遇到特殊字符&#xff0c;比如表情、特殊标点等&#xff0c;这样在Url中是无法识别的&#xff0c;需要进行转码&#xff0c;后端进行解码交互。 但当使用URLEncoder时&#xff0c;会发现字符串中的空格被转换成“”号&#xff0…

客服系统即时通讯IM开发(四)网站实现实时在线访客列表【唯一客服】网站在线客服系统...

在使用我的客服系统时&#xff0c;如果引入了我的js &#xff0c;就可以实时看到网站上的所有访客了 使用 WebSocket 技术来实现实时通信。 在访客登录或退出时&#xff0c;向指定客服的 WebSocket 客户端发送消息。例如&#xff0c;你可以在访客登录时&#xff0c;向指定客服…

测试用例的设计? 万能公式

万能公式(必背)&#xff1a;功能测试性能测试界面测试兼容性测试易用性测试安全测试功能测试 &#xff1a;可能来自于需求文档&#xff0c;也可能来自生活经验性能测试 &#xff1a;功能没有问题不代表性能是ok的&#xff0c;性能往往体现在一些极端情况界面测试 &#xff1a;颜…

Prometheus-基于Consul的自动注册

一、背景介绍 如果我们的物理机有很多&#xff0c;不管是基于"file_sd_config"还是"kubernetes_sd_config"&#xff0c;我们都需要手动写入目标target及创建目标service&#xff0c;这样才能被prometheus自动发现&#xff0c;为了避免重复性工作过多&#…

【182】Java8利用二叉查找树实现Map

本文利用二叉查找树写了一个Map&#xff0c;用来保存键值对。 二叉查找树的定义 二叉查找树又名二叉搜索树&#xff0c;英文名称是 Binary Search Tree&#xff0c;缩写BST。 二叉排序树&#xff0c;英文名称是 Binary Sorted Tree&#xff0c;缩写BST。 二叉查找树、二叉搜…

excel实用技巧:如何构建多级下拉菜单

使用数据有效性制作下拉菜单对大多数小伙伴来说都不陌生&#xff0c;但说到二级和三级下拉菜单大家可能就不是那么熟悉了。什么是二级和三级下拉菜单呢&#xff1f;举个例子&#xff0c;在一个单元格选择某个省后&#xff0c;第二个单元格选项只能出现该省份所属的市&#xff0…

vue-router原理简单实现

vue-router简单实现 初步预习 动态路由 获取id方式 第一种强依赖路由 第二种父传子方式&#xff08;推荐&#xff09; 嵌套路由 相同的头和尾&#xff0c;默认index&#xff0c;替换为detail 编程时导航 this.$router.push() this.$router.repleace() this.$router.g…

吊炸天,springboot的多环境配置一下搞明白了!

1、 使用springboot的profile命名规则profile用于多环境的激活和配置&#xff0c;用来切换生产&#xff0c;测试&#xff0c;本地等多套不通环境的配置。如果每次去更改配置就非常麻烦&#xff0c;profile就是用来切换多环境配置的。在Spring Boot框架中&#xff0c;使用Profil…

漏洞优先级排序的六大关键因素

当我们谈及开源漏洞时&#xff0c;我们会发现其数量永远处于增长状态。根据安全公司 Mend 研究发现&#xff0c;在 2022 年前九个月发现并添加到其漏洞数据库中的开源漏洞数量比 2021 年增加了 33%。该报告从 2022 年 1 月到 2022 年 9 月对大约 1,000 家北美公司进行了代表性抽…

一篇文章解决C语言操作符

我的主页&#xff1a;一只认真写代码的程序猿本文章是关于C语言操作符的讲解收录于专栏【C语言的学习】 目录 1、算术操作符 2、赋值操作符 3、关系操作符 4、条件操作符&#xff08;三目&#xff09; 5、逻辑操作符 6、单目操作符 7、移位操作符 8、位操作符 9、逗号…

使用Docker+Nignx部署vue项目

文章目录一、前言二、vue项目打包三、nginx基本介绍①nginx常用的功能&#xff1a;②nginx默认的主题配置文件解读③nginx目录解读三、docker内部署nginx①拉取nginx镜像②创建数据持久化目录☆☆☆③创建需要映射进去的文件④运行nginx四、大工告成最近&#xff08;之前&#…

2023年DAMA-CDGA/CDGP数据治理工程师认证(线上班)报名

DAMA认证为数据管理专业人士提供职业目标晋升规划&#xff0c;彰显了职业发展里程碑及发展阶梯定义&#xff0c;帮助数据管理从业人士获得企业数字化转型战略下的必备职业能力&#xff0c;促进开展工作实践应用及实际问题解决&#xff0c;形成企业所需的新数字经济下的核心职业…

gcc、g++,linux升级gcc、g++

安装cv-cuda库&#xff0c;要求gcc11&#xff0c;cmake>3.22版本。 Linux distro:Ubuntu x86_64 > 18.04WSL2 with Ubuntu > 20.04 (tested with 20.04) CUDA Driver > 11.7 (Not tested on 12.0) GCC > 11.0 Python > 3.7 cmake > 3.22gcc、g介绍 参考&…

手把手安装GNN必备库 —— pytorch_geometric

0 BackGround GNN&#xff1a;图神经网络&#xff0c;由于传统的CNN网络无法表示顶点和边这种关系型数据&#xff0c;便出现了图神经网络解决这种图数据的表示问题&#xff0c;这属于CNN往图方向的应用扩展。 GCN&#xff1a;图卷积神经网络&#xff0c;GNN在训练过程中&#…