操作符~, 是按位取反的意思,表面上~~(取反再取反)没有意义,实际上在JS中可以将浮点数变成整数。
<html>
<script>
var myArray = new Array();
myArray.push("a");
myArray.push("b");
myArray.push("c");
myArray.push("d");
//现在要随机从数组中取出一个元素
var random = myArray[~~(Math.random()*myArray.length)]; //Math.random()返回0和1之间的伪随机数,可能为0,但总是小于1,[0,1)
var i = 7.94;
i = ~~i;
alert(i);
var j = 7.34;
j = ~~j;
alert(j);
</script>
</html>
如上,如果没有~~,那么随机得到的是小数,而且是将小数的小数部分去掉,保留整数。如上面i=7,j=7。然而在C中并不存在这种机制,C中对一个浮点数(float)是不能按位取反的,而且C中可以用强制类型转换(而JS中则没有这种机制,浮点数转整数)达到同样的目的(舍弃小数部分,保留整数部分)。
分享到:
相关推荐
操作符~, 是按位取反的意思,表面上~~(取反再取反)没有意义,下面有个不错的示例,大家可以参考下
代码如下:result = ~ 【数字】 所有一元运算符(如 ~ 运算符)都按照下面的...表达式中的任何一位为 1,则结果中的该位变为 0。 表达式中的任何一位为 0,则结果中的该位变为 1。 下面的示例阐释了位非 (~) 运算符的
2.选择浏览器的“工具”-“安全”-“本地Intranet”-“自定义级别”-“活动脚本”中选用“禁用”单选框 3.在浏览器中输入下述地址:http://localhost/1.2.htm • 1.1.htm 多段代码相互调用 • 1.2....
用于将任何值转换为布尔值后再变为相反值,即true变false,false变true 取反运算符对以下六个值返回false,其余都返回true: undefined null ” false 0 NaN 如果对一个值取反两次,则相当于将其转换为了布尔值,与...
再从该列表中选择要查看的主题。在打开所选主题后,就可以方便地链接到相关章节。 请尽情浏览 JScript 语言参考的各个部分,你会发现 JScript 语言有多么丰富。 特性 描述 JScript 特性(非-ECMA) JScript ...
一、JavaScript运算符的种类 1、算术运算符:+ 、 – 、* 、 / 、 % 、 -(一元取反) 、 ++ 、 — 2、等同全同运算符:== 、 ===、 !== 、 !=== 3、比较运算符:< 、 > 、 <= 、 >= 4、字符串运算符:< 、 ...
再从该列表中选择要查看的主题。在打开所选主题后,就可以方便地链接到相关章节。 请尽情浏览 JScript 语言参考的各个部分,你会发现 JScript 语言有多么丰富。 特性 描述 JScript 特性(非-ECMA) JScript ...
1.通过JS技术把获取已知图片的像素值 2.获取到像素值去除A通道干扰 3.把最终的像素值一维数组转换HTML文件格式并导出到文件 4.懂JS获取文件内容的技术人员可以通过JS获取导出的文件内容,赋值给HTML标签,这样图片就...
2.选择浏览器的“工具”-“安全”-“本地Intranet”-“自定义级别”-“活动脚本”中选用“禁用”单选框 3.在浏览器中输入下述地址:http://localhost/1.2.htm • 1.1.htm 多段代码相互调用 • 1.2....
在JavaScript中取反的意思。 !![]大概翻译过来就是取反二次后他还是true! 那么+!![]中的+在JavaScript中是自增的意思,true一般都是正数那么此时true不就是1了嘛? 那么继续解析[]他本来就是没值的,他就是一个空...
JavaScript 装逼指南转Boolean类型转Number类型parseInt短路表达式,弃用if-else另外一种undefined保留指定位数的小数点单行写一个评级组件金钱格式化标准JSON的深拷贝数组去重取数组中的最大值和最小值 如何写...
前面的话 逻辑运算符对操作数进行布尔运算,经常...逻辑非对操作数转为布尔类型的转换类型与Boolean()转型函数相同,只不过最后再将其结果取反。而如果同时使用两个逻辑非操作符,实际上就会模拟Boolean()转型函数的行
JS作为一门常用于web开发的语言,必然要具备正则这种强大的特性,本文将对JS中的正则用法及常用函数进行一番总结
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document<...js代码中有时会用到“!”,这个我们知道是取反,对于布尔类型会将其值true和false互
1、原码、反码、补码,正数减法转补码加法 js 在进行二进制运算时,使用 32 位二进制整数,由于 js 的整数都是有符号数,最高位0表示正数,1表示负数,因此,js 二进制运算中使用的整数表达范围是 代码如下: -Math....
通用判断版本号是否在两者之间,也可以搭配判断是否大于某版本号,小于取反即可,本文给大家介绍通用javascript代码判断版本号是否在版本范围之间,需要的朋友参考下