自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(2)
  • 问答 (2)
  • 收藏
  • 关注

原创 js中相等比较背后的原理

在上述代码中,重写了对象的toString方法,根据对象与基本类型值的比较规则,每次比较会调用toString方法返回基本类型值,之后index会增加1,所以上述代码value == 0 && value == 1会返回true。由于==比较会在我们看不到的地方“偷偷”做一些事情,这就导致了代码的运行结果可能有时候并不符合我们的预期,增加了我们排查问题的难度,建议在代码使用===比较(全等比较),全等比较不会做隐式类型转化。在js中使用==进行的比较叫做相等比较,判断语句中经常会用到==进行相等比较。

2024-04-13 13:36:17 1166 3

原创 js函数形参与函数内声明的变量同名问题

其实事情没有那么简单,形参的value和局部参数的value并不是同一个变量,它们分别在不在一个作用域,形参定义为一个作用域,局部变量的定义属于另外一个全新的块级作用域,可以从chrome浏览器debug模式下查看不同的作用域(Scope)因为在ES5中形参和同名var变量是同一个值,在ES6中这种写法仍然正确,但是含有默认值的形参是用let定义,如果使用var定义的同名变量仍属同一个作用域会导致SyntaxError错误(变量重复声明),为了解决这个问题设置了不同的作用域。

2024-04-11 15:55:14 933

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除