JavaScript基础知识点总结:从零开始学习JavaScript(六)

 

本章内容主要让小伙伴们自主练习 ,建议大家先自己写出来答案,然后对照我的!(题不难主要培养自己的编程思维!!!)

如果大家感感兴趣也可以去看:

🎉博客主页:阿猫的故乡

🎉系列专栏:JavaScript专题栏

🎉ajax专栏:ajax知识点

🎉欢迎关注:👍点赞🙌收藏✍️留言

学习目标:

  • 笔试题→锻炼基本语法的掌握

  • 排错题→锻炼编码过程中常见错误的解决

  • 编程题→基于课堂练习和每日作业的常见编程思维的训练


学习内容:

笔试题:

  1. 什么是JavaScript?

  2. JavaScript的历史和发展简介。

  3. JavaScript中的变量声明有哪些关键字?它们之间有什么区别?

  4. JavaScript中如何创建函数?

  5. JavaScript中的条件语句有哪些?请举例说明。

  6. JavaScript中的循环语句有哪些?请举例说明。

  7. JavaScript中如何处理异常?请举例说明。

  8. JavaScript中的数组是如何定义和使用的?请给出一个数组的操作示例。

  9. 如何在JavaScript中定义和访问对象的属性?请给出一个对象的操作示例。

  10. JavaScript中的DOM是什么?如何使用JavaScript操作DOM元素?请举例说明。

 排错题:

 

当然,下面是5道JavaScript代码的常见错误题目:

  1. 请找出以下代码中的错误并改正:
let x = 5;
if (x == 5) {
  console.log("x is equal to five!");
} else {
  console.log("x is not equal to five!");
}

  1. 请找出以下代码中的错误并改正:
function multiply(a, b) {
  return a * b;
}
let result = multiply(2, 3);
console.log(result);

  1. 请找出以下代码中的错误并改正:
let numbers = [1, 2, 3, 4, 5];
for (let i = 0; i <= numbers.length; i++) {
  console.log(numbers[i]);
}

  1. 请找出以下代码中的错误并改正:
let person = {
  name: "John",
  age: 25,
  occupation: "developer"
};
console.log(person.name);
console.log(person.occupation);

  1. 请找出以下代码中的错误并改正:
let x = 10;
let y = "5";
let sum = x + y;
console.log(sum);

希望这些题目能够帮助你加深对JavaScript的理解,如果你需要更多的题目,请随时告诉我。

 编程题:

  1. 编写一个JavaScript程序,输出所有小于100的偶数。

  2. 编写一个JavaScript程序,计算并输出1到10的平方数。

  3. 编写一个JavaScript函数,接收一个数字参数n,然后输出1到n之间所有的奇数。

  4. 编写一个JavaScript函数,接收一个字符串参数,然后判断该字符串是否是回文(正向和反向读取都一样)。

  5. 编写一个JavaScript函数,接收一个数组参数,然后返回该数组中的最大值和最小值。

  6. 编写一个JavaScript程序,接收一个数字参数n,然后输出n的阶乘。

  7. 编写一个JavaScript程序,接收一个字符串参数,然后输出该字符串的长度。

  8. 编写一个JavaScript函数,接收一个数组参数,然后返回该数组中所有元素的总和。

  9. 编写一个JavaScript函数,接收两个数字参数,然后返回它们的乘积。

  10. 编写一个JavaScript函数,接收两个数组参数,然后返回它们的交集。


学习时间:

  • 周一至周五晚上 7 点—晚上9点
  • 周六上午 9 点-上午 11 点
  • 周日下午 3 点-下午 6 点

学习产出:

笔试题答案:

 

  1. JavaScript是一种脚本语言,用于为网页添加交互性和动态性。它可以在网页中嵌入HTML代码,并通过浏览器解释和执行。

  2. JavaScript的历史和发展简介:

    • 1995年,由Netscape公司的Brendan Eich开发出原始的JavaScript(当时称为LiveScript)。
    • 1996年,为了标准化,JavaScript被提交给ECMA(欧洲计算机制造商协会)进行标准化工作,最终成为ECMAScript标准。
    • 1997年,发布了第一个ECMAScript标准的版本(ECMAScript 1),随后陆续有更多的版本发布,如ES2、ES3、ES5等。
    • 2009年,出现了ECMAScript 5.1版本,带来了许多新的特性和改进。
    • 2015年,发布了ECMAScript 6(也称为ES6或ES2015)标准,引入了许多重要的语言特性和改进。
  3. JavaScript中的变量声明关键字有三个:var、let和const。

    • var:用于声明一个变量,其作用域为函数级别。
    • let:用于声明一个块级作用域的变量,其作用范围只在当前代码块内。
    • const:用于声明一个常量,其值无法被重新赋值。
  4. 在JavaScript中,可以使用function关键字来创建函数。函数可以有参数和返回值,可以执行一系列的操作和逻辑。 例如,以下是一个简单的函数定义:

    function add(a, b) {
      return a + b;
    }
    

  5. JavaScript中的条件语句有if语句、if...else语句和switch语句。

    • if语句用于在满足条件时执行一段代码块。
    • if...else语句用于在满足条件时执行一段代码块,否则执行另一段代码块。
    • switch语句用于根据不同的情况执行不同的代码块。 例如,以下是一个使用if语句的示例:
    let num = 10;
    if (num > 0) {
      console.log("Number is positive");
    }
    

  6. JavaScript中的循环语句有for循环、while循环和do...while循环。

    • for循环用于重复执行一段代码指定的次数。
    • while循环用于在满足条件时重复执行一段代码。
    • do...while循环与while循环类似,但它会先执行一次代码块,然后再检查条件。 例如,以下是一个使用for循环的示例:
    for (let i = 0; i < 5; i++) {
      console.log(i);
    }
    

  7. JavaScript中可以使用try...catch语句来处理异常。try代码块中包含可能会引发异常的代码,catch代码块用于捕获并处理异常。 例如,以下是一个处理异常的示例:

    try {
      throw new Error("Something went wrong");
    } catch (error) {
      console.log(error.message);
    }
    

  8. JavaScript中的数组可以通过使用方括号[]来定义,并且可以包含任意类型的元素。 以下是一个数组的操作示例:

    let fruits = ["apple", "banana", "orange"];
    console.log(fruits[0]); // 输出: "apple"
    fruits.push("grape");   // 添加元素到数组末尾
    fruits.pop();           // 删除数组末尾的元素
    console.log(fruits.length); // 输出: 3
    

  9. 在JavaScript中,可以使用点号(.)或方括号([])来定义和访问对象的属性。 以下是一个对象的操作示例:

    let person = {
      name: "John",
      age: 25,
      "phone number": "1234567890"
    };
    console.log(person.name); // 输出: "John"
    console.log(person["age"]); // 输出: 25
    

  10. DOM(Document Object Model)是指将HTML文档表示为一个树形结构的方式,JavaScript可以通过操作DOM元素来改变页面的内容、样式和行为。 可以使用document对象的方法和属性来操作DOM元素,例如getElementById()、querySelector()、createElement()等。 以下是一个使用JavaScript操作DOM元素的示例:

    // 根据id获取元素,并修改其内容
    let element = document.getElementById("myElement");
    element.innerHTML = "New content";
    
    // 创建一个新的元素,并添加到页面中
    let newElement = document.createElement("div");
    newElement.innerHTML = "New element";
    document.body.appendChild(newElement);
    

 拍错题答案:

 

答案如下:

  1. 错误:在条件语句中使用的是赋值操作符"="而不是判断相等的操作符"=="。 改正:将条件语句修改为if (x === 5)

  2. 无错误。

  3. 错误:循环条件中的i &lt;= numbers.length导致数组越界。 改正:将循环条件修改为i &lt; numbers.length

  4. 无错误。

  5. 错误:将数字和字符串相加会将数字转换为字符串并进行拼接,而不是进行数值相加。 改正:将变量y的类型修改为数字类型。

let x = 10;
let y = 5;
let sum = x + y;
console.log(sum); // 输出15

编程题:

 

  1. 输出所有小于100的偶数:
for(let i = 2; i < 100; i += 2) {
  console.log(i);
}

  1. 计算并输出1到10的平方数:
for(let i = 1; i <= 10; i++) {
  console.log(i ** 2);
}

  1. 输出1到n之间所有的奇数:
function printOddNumbers(n) {
  for(let i = 1; i <= n; i += 2) {
    console.log(i);
  }
}

printOddNumbers(10);

  1. 判断字符串是否为回文:
function isPalindrome(str) {
  let reversedStr = str.split('').reverse().join('');
  return str === reversedStr;
}

console.log(isPalindrome('level')); // true
console.log(isPalindrome('hello')); // false

  1. 返回数组中的最大值和最小值:
function findMinMax(arr) {
  let min = Math.min(...arr);
  let max = Math.max(...arr);
  return { min, max };
}

console.log(findMinMax([1, 2, 3, 4, 5])); // { min: 1, max: 5 }

  1. 计算n的阶乘:
function factorial(n) {
  if(n === 0 || n === 1) {
    return 1;
  }
  else {
    return n * factorial(n - 1);
  }
}

console.log(factorial(5)); // 120

  1. 输出字符串的长度:
let str = 'Hello World';
console.log(str.length); // 11

  1. 返回数组中所有元素的总和:
function sumArray(arr) {
  let sum = arr.reduce((acc, curr) => acc + curr, 0);
  return sum;
}

console.log(sumArray([1, 2, 3, 4, 5])); // 15

  1. 返回两个数字的乘积:
function multiplyNumbers(a, b) {
  return a * b;
}

console.log(multiplyNumbers(5, 6)); // 30

  1. 返回两个数组的交集:
function intersection(arr1, arr2) {
  let result = arr1.filter(value => arr2.includes(value));
  return result;
}

console.log(intersection([1, 2, 3], [2, 3, 4])); // [2, 3]

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

matlab导出高清图片,须经修改后放入latex(例如添加文字说明,matlab画图不易操作)

一、背景 我们在写文章时&#xff0c;使用matlab画图后&#xff0c;如果不需要对图片进行额外修改或调整&#xff0c;例如添加文字说明&#xff0c;即可直接从matlab导出eps格式图片&#xff0c;然后插入到latex使用。 通常latex添加图片&#xff0c;是需要eps格式的。 但很…

两种汇编的实验

week04 一、汇编-1二、汇编-2 一、汇编-1 1 通过输入gcc -S -o main.s main.c -m32 将下面c程序”week0401学号.c“编译成汇编代码 int g(int x){ return x3; } int f(int x){ int i 学号后两位&#xff1b; return g(x)i; } int main(void){ return f(8)1; } 2. 删除汇编代码…

vr体验馆用什么软件计时计费,如遇到停电软件程序如何恢复时间

vr体验馆用什么软件计时计费&#xff0c;如遇到停电软件程序如何恢复时间 一、软件程序问答 如下图&#xff0c;软件以 佳易王vr体验馆计时计费软件V17.9为例说明 1、软件如何计时间&#xff1f; 点击相应编号的开始计时按钮即可 2、遇到停电再打开软件时间可以恢复吗&…

跨域是什么,如何解决跨域

文章目录 前言一、 什么是跨域&#xff1f;二、常见跨域问题三、如何解决跨域如何解决跨域&#xff08;方式&#xff09;前端解决跨域问题CORS反向代理JSONP 总结 前言 跨域是在开发中经常遇到的问题&#xff0c;那什么是跨域呢&#xff1f;及常见跨域的处理方案有哪些呢&…

深入了解云原生:定义与特征解析

文章目录 一、云原生概述1.1 什么是云原生1.2 云原生组成要素1.3 补充资料 二、云原生的目标2.1 云原生关键目标2.2 云原生特性 三、云原生应用 VS 传统单体应用参考资料 一、云原生概述 1.1 什么是云原生 (1)云原生定义 云原生(Cloud Native) 是一种软件架构和开发方法论&a…

D1671 75Ω视频放大驱动芯片 ,2.8~5.5V 应用于手持设备中 内 置 SAG端 子 6dB放 大 器 电 路

D1671 是 一 块 带 4 级 低 通 滤 波 的 单 通 道 视 频 放 大 电 路 &#xff0c; 可 在 3V 或 5V的 低 电 压 下 工 作 。 该 电 路 用 在 有 TV 影 象 输 出 功 能 的 产 品 上 面 &#xff0c; 比 如 机 顶 盒 &#xff0c;监 控 摄 象 头 &#xff0c;DVD &#xff1b;此 …

JSON 详解

文章目录 JSON 的由来JSON 的基本语法JSON 的序列化简单使用stringify 方法之 replacerstringify 方法之 replacer 参数传入回调函数stringify 方法之 spacestringify 方法之 toJSONparse 方法之 reviver 利用 stringify 和 parse 实现深拷贝 json 相信大家一定耳熟能详&#x…

WebGL以及wasm的介绍以及简单应用

简介 下面主要介绍了WebGL和wasm,是除了html,css,js以外Web标准所支持的另外两个大件 前者实现复杂的图形处理,后者提供高效的代码迁移以及代码执行效率 WebGL 简介 首先,浏览器里的游戏是怎么做到这种交互又显示不同的画面的? 试想用我们的前端三件套实现一下.好像可以…

HackTheBox - Medium - Linux - Bagel

Bagel 今天我开始了《Red Team Development and Operations A Practical Guide》的学习&#xff0c;保持学习&#xff0c;后面差不多到时机后就学CRTOⅡ Bagel 是一款中等难度的 Linux 机器&#xff0c;其特点是电子商店容易受到路径遍历攻击&#xff0c;通过该攻击可以获取应…

ZigBee协议栈 -- Zstack协议栈(Zstack2.5.1a)

文章目录 Zstack 协议栈介绍ZStack 的安装ZStack 的结构系统初始化启动操作系统 设备的选择定位编译选项ZStack 中的寻址ZStack 中的路由OSAL 调度管理ZStack 中的串口通信设置配置信道配置 PANID 和要加入的网络最大有效载荷大小非易失性存储器 Zstack 协议栈介绍 CC2530 芯片…

【华为机试】2023年真题B卷(python)-计算最大乘积

一、题目 题目描述&#xff1a; 给定一个元素类型为小写字符串的数组&#xff0c;请计算两个没有相同字符的元素长度乘积的最大值&#xff0c;如果没有符合条件的两个元素&#xff0c;返回0。 二、输入输出 输入描述: 输入为一个半角逗号分隔的小写字符串的数组&#xff0c;2 &…

Collections

Collections Collections四种对集合进行排序的方式 方法名说明public static <T extends Comparable<? super T>> void sort (List<T> list)排序public static void reverse(List<?> list)逆序public static void shuffle(List<?> list)随机…

使用element中el-cascader级联选择器实现省市区街道筛选(非动态加载)

<template><el-form ref"form" :model"form" label-width"80px"><el-form-item label"地址:" prop"addressList"><el-cascaderv-model"form.addressList":props"props":options&q…

golang第一卷---go入门

go入门 对于使用go的好处环境变量配置开发工具 参考网站 &#xff1a;go入门 对于使用go的好处 简单好记的关键词和语法。轻松上手&#xff0c;简单易学。更高的效率。比Java&#xff0c;C等拥有更高的编译速度&#xff0c;同时运行效率媲美C&#xff0c;同时开发效率非常高。…

分布式技术之数据分布方式

文章目录 数据分布设计原则数据分布方法哈希一致性哈希带有限负载的一致性哈希带虚拟节点的一致性哈希四种数据分布方法对比 在分布式系统中&#xff0c;具体是如何实现数据索引或数据分布的呢&#xff1f;目前最常用的方法就是哈希和一致性哈希。 数据分布设计原则 数据分布…

swift-碰到的问题

如何让工程不使用storyboard和scene 删除info.plist里面的Application Scene mainifest 删除SceneDelegate.swift 删除AppDelegate.swift里面的这两个方法 func application(_ application: UIApplication, configurationForConnecting connectingSceneSession: UISceneSession…

2012年第一届数学建模国际赛小美赛B题大规模灭绝尚未到来解题全过程文档及程序

2012年第一届数学建模国际赛小美赛 B题 大规模灭绝尚未到来 原题再现&#xff1a; 亚马逊是地球上现存最大的雨林&#xff0c;比地球上任何地方都有更多的野生动物。它位于南美洲大陆的北侧&#xff0c;共有9个国家&#xff1a;巴西、玻利维亚、厄瓜多尔、秘鲁、哥伦比亚、委…

竞赛保研 基于卷积神经网络的乳腺癌分类 深度学习 医学图像

文章目录 1 前言2 前言3 数据集3.1 良性样本3.2 病变样本 4 开发环境5 代码实现5.1 实现流程5.2 部分代码实现5.2.1 导入库5.2.2 图像加载5.2.3 标记5.2.4 分组5.2.5 构建模型训练 6 分析指标6.1 精度&#xff0c;召回率和F1度量6.2 混淆矩阵 7 结果和结论8 最后 1 前言 &…

ppp会话建立的第二阶段:ppp认证

ppp认证的两种协议&#xff1a; pap 密码认证协议&#xff1a;是一种简单的明文认证&#xff0c;使用两次握手建立身份验证。如果碰到动态攻击&#xff0c;pap认证不会断开。一旦pap认证通过&#xff0c;就不会断开chap 挑战握手验证协议&#xff1a;通过三次握手的方式进行MD…

redis的主从复制和哨兵模式

redis的集群&#xff1a; 高可用方案&#xff1a; 持久化高可用 主从复制 哨兵模式 集群 主从复制&#xff1a;主从复制是redis实现高可用的基础&#xff0c;哨兵模式和集群都是在主从复制的基础之上实现高可用。 主从复制实现数据的多机备份&#xff0c;以及读写分离(主…