JS学习 自我纠错笔记

2024-04-25 07:08
文章标签 学习 笔记 js 自我 纠错

本文主要是介绍JS学习 自我纠错笔记,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

错误

1、逻辑错误
(1)代码书写位置不对,应该搞清楚是动作执行之前执行还是动作执行之后执行代码。
例如:

<script>// 加法计算器// 获取元素var num1 = document.getElementById('num1');var num2 = document.getElementById('num2');var num3 = document.getElementById('num3');var btn = document.getElementById('btn');var a = num1.value;var s = Number(a);var b = num2.value;var c = Number(b);// 点击 计算btn.onclick = function () {num3.value = s + c;}
</script>——————————错
<script>// 加法计算器// 获取元素var num1 = document.getElementById('num1');var num2 = document.getElementById('num2');var num3 = document.getElementById('num3');var btn = document.getElementById('btn');// 点击 计算btn.onclick = function () {var a = num1.value;var s = Number(a);var b = num2.value;var c = Number(b);num3.value = s + c;}</script>——————————对

2、使用方法时 用错对象
例如:使用isNaN()时,写成isNaN(input的id名),应该是对表单元素的内容(即value值)进行判断是否是纯数字类型,而不是对表单进行判断,所以正确的写法为:isNaN(input的id名对应的变量.value)

例如:
HTML:
<input type="text" id="cont">
JS:
var cont  = document.getElementById("cont");
var a = inNaN(cont);   ——————————错
var a = inNaN(cont.value);   ——————————对

3.使用属性时 找错对象
例如 input的id名为box

var box = document.getElementById("box");
var a = box.length;(错)
box:length   ——————————错
box.value.length  ——————————对

4、拼写错误
提示错误的时候,不止是要找提示的位置,有可能是提示内容的附近
例如:提示错误:SyntaxError: Unexpected token ‘{’
实际错误是:t.onclick = functiona () {} 中的function写错成functiona

5、在使用class名字获取元素的时候(即使用:getElementsByClassName),就算是只有一个元素使用了这个class名称,得到的都是一个伪数组,使用时都需要指定下标。
例如:
在HTML中:

<body>
<input class="num1" type="text" >//只有一个元素使用了 class="num1"
</body>
错误的:
var num1 = document.getElementsByClassName("num1");
var a = num1.value;正确的:
var num1 = document.getElementsByClassName("num1");
var a = num1[0].value;

6、js中给标签添加空格,和html中一样,使用&nbsp;

box[0].innerHTML += "      ";------------错
box[0].innerHTML += "&nbsp;";------------对

7、JS中的转义符
JS中的反斜线代表转义的意思,如JS中的常见转义字符有:

  \n ==> 换行\t ==> 制表符 \' ==> 单引号 \"" ==> 双引号 \\ ==>反斜线(\) \\\\ ==> 两个反斜线(\\)

8、js严格区分大小写

Window.onload = function () {}——————————错

控制台不报错,但是代码不会被执行,这样的情况很难找到错误所在。需要注意

window.onload = function () {}——————————对

9、当出现报错,然后在JS代码中没有找出,应该去看看HTML中结构中
比如报错undefined;
错误在JS中没找到,错误出现在html中
例如:
JS中:box使用时报错为undefined,但是JS中没错
错误在HTML的结构上:

<span></span class="box">——————————错 
<span class="box"></span>——————————对

所以在JS中获取不到box

总结

1、逻辑上需要考虑清楚,什么时候获取需要的值;
2、注意不必要的错误:单词拼写,选择器加错位置,
3、获取内容要区分是表单还是闭合标签。

这篇关于JS学习 自我纠错笔记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/934008

相关文章

Node.js 中 http 模块的深度剖析与实战应用小结

《Node.js中http模块的深度剖析与实战应用小结》本文详细介绍了Node.js中的http模块,从创建HTTP服务器、处理请求与响应,到获取请求参数,每个环节都通过代码示例进行解析,旨在帮... 目录Node.js 中 http 模块的深度剖析与实战应用一、引言二、创建 HTTP 服务器:基石搭建(一

使用Vue.js报错:ReferenceError: “Vue is not defined“ 的原因与解决方案

《使用Vue.js报错:ReferenceError:“Vueisnotdefined“的原因与解决方案》在前端开发中,ReferenceError:Vueisnotdefined是一个常见... 目录一、错误描述二、错误成因分析三、解决方案1. 检查 vue.js 的引入方式2. 验证 npm 安装3.

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

JS常用组件收集

收集了一些平时遇到的前端比较优秀的组件,方便以后开发的时候查找!!! 函数工具: Lodash 页面固定: stickUp、jQuery.Pin 轮播: unslider、swiper 开关: switch 复选框: icheck 气泡: grumble 隐藏元素: Headroom

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

在JS中的设计模式的单例模式、策略模式、代理模式、原型模式浅讲

1. 单例模式(Singleton Pattern) 确保一个类只有一个实例,并提供一个全局访问点。 示例代码: class Singleton {constructor() {if (Singleton.instance) {return Singleton.instance;}Singleton.instance = this;this.data = [];}addData(value)

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss