本篇内容主要讲解“使用Js技巧有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“使用Js技巧有哪些”吧!
探讨Js奇技淫巧的起源
两年前。我还没有毕业,在大学的最后一个学期中选择了进入前端,同时,被吸引到前端阵营中一个不得不说的原因就是js的奇技淫巧,同时个人是一个比较猎奇的人,所以就学了很多关于js的奇技淫巧。
现在这些奇技淫巧要么变成了这门语言不可或缺的一部分,要么随着时间的推移而消失,还有一些在不知不觉中却忘记了,既然这次的文章是介绍这方面的知识,也就多介绍一下之前学习的一些例子。
Js奇技淫巧有什么
~运算符+indexOf
在es6includes尚未推行之前,我们判断判断字符串或者数组包含只能使用indexOf这个方法,但是indexOf返回的确实元素的索引,如果不存在则返回-1。因为在之前写c语言的时候,我们往往使用0代表成功,123代表着不同的错误。因为0是独一无二的。在类c的语言中是具有truthyfalsy这个概念。并不指代bool的true与false。
下表代表了js的truthy以及falsy。
变量类型 falsy truthy
布尔 false true
字符串 "" 非空字符串
数值 0NaN 任何不为falsy的数值
null 是 否
undefined 是 否
对象(数组),{}以及[] 否 是
对于数值而言,我们知道0对于数值是唯一的,而-1不是。那么我们可以通过~运算符来把-1变为0.
~-1
//0
~1
//-2
解释下
对每一个比特位执行非(NOT)操作。NOTa结果为a的反转(即反码)。
9(base10)=00000000000000000000000000001001(base2)
~9(base10)=11111111111111111111111111110110(base2)=-10(base10)
因为在计算机中第一位代表着符号位置。
同时简单理解。对任一数值x进行按位非操作的结果为-(x+1)。也就是说通过~可以把-1(且仅仅只是-1)变为falsy。
到此,相信大家对“使用Js技巧有哪些”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。