【js基础】逻辑判断篇(易错点)

1. null instanceof Object 结果为false

  • null本质上是null类型而不是Object,typeof null = ‘object’是历史遗留问题;

2. NaN == NaN的结果为false

  • NaN表示非数字,是Not a Number的缩写,但是他们也是不同的,NaN 不等于NaN 且NaN永远不可能相等。

3. == 判断过程:

  1. 判断是否有NaN,如果有,则直接返回false;
  2. 判断是否有Boolean,如果有,false转换为0,true转换为1;
  3. null、undefined不进行转换;

4. Number类型转换对应的值

Number(’ ') = 0
Number(false) = 0
Number(undefined) = NaN

5. null == undefined的结果为true

  • ECMAScript认为:他们都表示一个无效的值,表示内容相似。

6. {} === {} 、[1,2,3] === [1,2,3] 的结果为false

引用类型比较的地址,他们的地址不同。


P.S.以上解释均来自于网络,如有解释不对的地方,欢迎评论区交流!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
凯撒加密是一种简单的加密算法,它基于将明文中的每个字母替换为字母表中向后(或向前)移动固定数量的位置后得到密文的思想。例如,当移动位数为3时,明文中的每个字母都会被替换为字母表中向后移动3个位置的字母。因此,字母A会被替换为D,字母B会被替换为E,以此类推。 Python实现凯撒加密可以通过以下方式: ```python def caesar_cipher(text, shift): # 定义字母表 alphabet = 'abcdefghijklmnopqrstuvwxyz' # 定义加密后的结果 result = '' # 遍历明文中的每个字符 for char in text: # 如果字符不在字母表中,则不进行加密,直接加入结果中 if char.lower() not in alphabet: result += char continue # 计算加密后的字符的位置 position = alphabet.find(char.lower()) + shift # 如果位置超出了字母表的范围,则循环到字母表的开头或结尾 if position >= len(alphabet): position -= len(alphabet) elif position < 0: position += len(alphabet) # 将加密后的字符加入结果中,保留原字符的大小写 if char.isupper(): result += alphabet[position].upper() else: result += alphabet[position] return result ``` 这个函数接受两个参数:明文和移动的位数。它首先定义了字母表,并遍历明文中的每个字符。如果字符不在字母表中,则直接加入结果中,否则计算加密后的字符的位置。如果位置超出了字母表的范围,则循环到字母表的开头或结尾。最后,将加密后的字符加入结果中,并保留原字符的大小写。 在实现凯撒加密时,有一些易错需要注意: 1. 移动的位数应该是一个正整数或负整数,不能是小数或其他类型的值。 2. 当明文中包含非字母字符时,应该直接将这些字符加入结果中,而不是尝试将它们加密。 3. 在计算加密后的字符的位置时,需要考虑字符的大小写。如果原字符是大写字母,则加密后的字符也应该是大写字母。 4. 如果移动的位数超出了字母表的范围,则需要循环到字母表的开头或结尾。例如,当移动位数为30时,应该循环到字母表的第4个位置,即字母D。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

想做一只快乐的修狗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值