javascript 中双波浪线 是做什么处理的

JavaScript028

javascript 中双波浪线 是做什么处理的,第1张

js中波浪线运算符"~"的作用是将数字转化为有符号32位整数并作位取反, 位取反即把数字转换为2进制补码然后把0和1反转. 对一个数字取反2次会变成原来的数字, 于是双波浪线的作用就是把一个小数舍弃小数点转换为整数, 在数字较小转换为32位整数时不会溢出的情况下可以当作Math.floor的偷懒写法. 不过更一般的写法是"num | 0", 即位或0, 在位运算上不会改变数字但可以快速的转换为整数, 在各种将数字转换为整数的写法中位或0速度最快

在函数前加上波浪号,其作用是把函数声明转换为表达式,这样就可以直接运行。

具体来讲这个例子,先计算表达式cn.search( /open/i ) 的值

如果为真,则执行cn.replace( / open/i, '' )

否则, 返回cn + ' open'

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<title>JS实现文字放大效果</title>

<script type="text/javascript">

var n = 12

function chanTxt()

{

var obj = document.getElementById("test")

if(n <= 42)

{

obj.style.fontSize = n+"px"

}

n++

}

</script>

</head>

<body>鼠标经过橙色部分

<div id="test" onmouseover="setInterval('chanTxt()',100)" style="width:300pxheight:50pxfont-size:12pxline-height:50pxbackground:#f90">代码家园</div>

</body>

</html>

<br>鼠标滑过橙色部分,文字逐渐放大。 重新预览效果请刷新本页面~<br><hr>收集于互联网,只为兴趣与学习交流,不作商业用途。</font></p>