8.20 pre day bug

2024-08-21 12:28
文章标签 bug day pre 8.20

本文主要是介绍8.20 pre day bug,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

pre-bug1

分号省略

这些语句的分隔规则会导致一些意想不到的情形,如以下的一个示例;

 let m = n + f(b+c).toString()

但该语句最终会被解析为:

 let m = n + f(a+b).toString();
 returntrue

一定会被解析成

 return;true;

pre-bug2

Math.random()与Math.floor()

Math.random()`方法是一个非常实用的内置函数,它被用来生成一个介于0(包含)和1(不包含)之间的随机浮点数,范围即 [0,1)

console.log(Math.random());

0.13560024799871395

0.004448119445554122

0.5884970635904845

Math.floor() 函数总是返回小于等于一个给定数字的最大整数

console.log(Math.floor(Math.random()));

0

console.log(Math.floor(Math.random()*10));

7

0

5

8

讓亂數乘上最大值 max 無條件捨去,得到的值區間會是 0~(max-1)

Math.floor(Math.random() * max)

加上 min ,得到值的區間為 min ~ (max-1+min)

Math.floor(Math.random() * max ) + min;

但我們要的區間值為 min ~ max ,所以 (max -1 + min) 必須寫成 (max -1 + min)+1-min ,所以最終寫法如下:

Math.floor(Math.random()*(max-min+1))+min;

pre-bug3

JS 中单引号和双引号无任何区别,二者均用于表示字符串字面量。 单引号和双引号混合使用时,内层引号将被视为字符串的一部分。 如果不使用单引号包含双引号或者双引号包含单引号,那么需要反斜杠对引号进行转义。 单引号和双引号之间的字符串可以相加。

pre-bug4

JavaScript 提升是指解释器在执行代码之前,似乎将函数、变量、类或导入的声明移动到其作用域的顶部的过程———MDN

let

let x = 1;if (x === 1) {let x = 2;console.log(x);// Expected output: 2
}console.log(x);
// Expected output: 1

let 声明的变量的作用域是最靠近并包含 let 声明的以下花括号闭合语法结构的一个:

  • 块语句
  • switch 语句
  • try...catch 语句
  • let 位于其开头的 for 语句之一的主体
  • 函数主体
  • 类静态初始化块

var

var x = 1;if (x === 1) {var x = 2;console.log(x);// Expected output: 2
}console.log(x);
// Expected output: 2

var 声明的变量的作用域是最靠近并包含 var 语句的以下花括号闭合语法结构的一个:

  • 函数主体
  • 类静态初始化块

这篇关于8.20 pre day bug的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

day-51 合并零之间的节点

思路 直接遍历链表即可,遇到val=0跳过,val非零则加在一起,最后返回即可 解题过程 返回链表可以有头结点,方便插入,返回head.next Code /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}*

Linux基础入门 --9 DAY

文本处理工具之神vim         vi和vim简介 一、vi编辑器 vi是Unix及类Unix系统(如Linux)下最基本的文本编辑器,全称为“visual interface”,即视觉界面。尽管其名称中包含“visual”,但vi编辑器实际上工作在字符模式下,并不提供图形界面。vi编辑器以其强大的功能和灵活性著称,是Linux系统中不可或缺的工具之一。 vi编辑器具有三种主要的工作模

day-50 求出最长好子序列 I

思路 二维dp,dp[i][h]表示nums[i] 结尾,且有不超过 h 个下标满足条件的最长好子序列的长度(0<=h<=k),二维数组dp初始值全为1 解题过程 状态转换方程: 1.nums[i]==nums[j],dp[i,h]=Math.max(dp[i,h],dp[j,h]+1) 2.nums[i]!=nums[j],dp[i,h]=Math.max(dp[i,h],dp[j,h-1

[Day 73] 區塊鏈與人工智能的聯動應用:理論、技術與實踐

AI在健康管理中的應用實例 1. 引言 隨著健康管理需求的提升,人工智能(AI)在該領域的應用越來越普遍。AI可以幫助醫療機構提升效率、精準診斷疾病、個性化治療方案,以及進行健康數據分析,從而改善病患的健康狀況。這篇文章將探討AI如何應用於健康管理,並通過具體代碼示例說明其技術實現。 2. AI在健康管理中的主要應用場景 個性化健康建議:通過分析用戶的健康數據,如飲食、運動、睡眠等,AI可

Vue day-03

目录 Vue常用特性 一.响应更新 1. 1 v-for更新监测 1.2 v-for就地更新 1.3 什么是虚拟DOM 1.4 diff算法更新虚拟DOM 总结:key值的作用和注意点: 二.过滤器 2.1 vue过滤器-定义使用 2.2 vue过滤器-传参和多过滤器 三. 计算属性(computed) 3.1 计算属性-定义使用 3.2 计算属性-缓存 3.3 计算属

用Python实现时间序列模型实战——Day 14: 向量自回归模型 (VAR) 与向量误差修正模型 (VECM)

一、学习内容 1. 向量自回归模型 (VAR) 的基本概念与应用 向量自回归模型 (VAR) 是多元时间序列分析中的一种模型,用于捕捉多个变量之间的相互依赖关系。与单变量自回归模型不同,VAR 模型将多个时间序列作为向量输入,同时对这些变量进行回归分析。 VAR 模型的一般形式为: 其中: ​ 是时间  的变量向量。 是常数向量。​ 是每个时间滞后的回归系数矩阵。​ 是误差项向量,假

Linux基础入门 --8 DAY

文件权限管理 设置文件的所有者chown         格式: chown [OPTION]... [OWNER][:[GROUP]] FILE... chown [OPTION]... --reference=RFILE FILE...         示例:  chown admin(所有者):admin(所属组)f1.txt chown admin(所有者).admin(

[Day 72] 區塊鏈與人工智能的聯動應用:理論、技術與實踐

區塊鏈在跨境支付中的應用 跨境支付一直是全球經濟中極具挑戰的領域。傳統的跨境支付系統通常需要數天時間來處理交易,涉及的中間機構多且手續費昂貴。然而,區塊鏈技術的出現為解決這些問題提供了一條嶄新的途徑。本文將探討區塊鏈在跨境支付中的應用,並通過代碼示例展示如何使用區塊鏈技術來優化跨境支付流程。 1. 區塊鏈在跨境支付中的優勢 區塊鏈技術具有去中心化、透明、高效和安全等特性,使其在跨境支付領域具

JavaBug系列-解决SpringBoot返回Xml结构的问题

JavaBug系列之SpringBoot返回Xml结构的问题 Java医生一、关于错误信息二、如何解决问题 Java医生 本系列记录常见Bug,以及诊断过程和原因 作者:Java医生 教学: Java企业项目辅导,专注于辅导新入职员工,解决各种问题! V:study_51ctofx 一、关于错误信息 如图,SpringBoot请求返回Xml格式信息 通过以上信息分析,

JavaBug系列- Failed to load driver class com.mysql.cj.jdbc.Driver in either of HikariConfig class load

JavaBug系列之Mysql驱动问题 Java医生一、关于错误信息二、如何解决问题 Java医生 本系列记录常见Bug,以及诊断过程和原因 Java/一对一零基础辅导/企业项目一对一辅导/日常Bug解决/代码讲解/毕业设计等 V:study_51ctofx 一、关于错误信息 APPLICATION FAILED TO START Description: Fai