JavaScript学习心得04
Posted endymion
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript学习心得04相关的知识,希望对你有一定的参考价值。
- 任何值(包括NaN本身)与NaN比较,返回的都是false:
1 > NaN // false
1 <= NaN // false
‘1’ > NaN // false
‘1’ <= NaN // false
NaN > NaN // false
NaN <= NaN // false
- 数组和别的东西做比较时,变成字符串和人家比;
- 非数组对象和别的东西做比较时,直接变成这个的字符串:
‘[object Object]’
- 如果两个值不是同一类型,严格相等运算符
===
直接返回false
,而相等运算符==
会将它们转换成同一个类型,再用严格相等运算符进行比较; NaN
与任何值都不相等(包括自身)。另外,正0等于负0:
NaN === NaN // false
+0 === -0 // true
- 两个复合类型(对象、数组、函数)的数据比较时,不是比较它们的值是否相等,而是比较它们是否指向同一个地址:
{} === {} // false
[] === [] // false
(function () {} === function () {}) // false
undefined
和null
与自身严格相等;- 而且
null == undefined // true
- 两个只声明未赋值的变量是相等的:
var v1;
var v2;
v1 === v2 // true
- 位运算符只对整数起作用,如果一个运算子不是整数,会自动转为整数后再执行;
- 虽然在 javascript 内部,数值都是以64位浮点数的形式储存,但是做位运算的时候,是以32位带符号的整数进行运算的,并且返回值也是一个32位带符号的整数:
function toInt32(x) {//将任意数值转化为32位整数
return x | 0;
}
- 将一个小数与0进行二进制或运算,等同于对该数去除小数部分,即取整数位;
- 一个数与自身的取反值相加,等于-1:
~ 3 // -4
~ -3 // 2
- 对一个整数连续两次二进制否运算,得到它自身;
- 对一个小数连续进行两次二进制否运算,能达到取整效果(相较或运算,更快速);
- 异或运算也可以用来取整:
12.9 ^ 0 // 12
- 如果左移0位,就相当于将该数值转为32位整数,等同于取整,对于正数和负数都有效;
- 使用以下方法查看负整数在计算机内部的存储形式!
-1 >>> 0 // 4294967295
二进制开关
- 用
|
运算制造掩码:
var mask = FLAG_A | FLAG_B | FLAG_D;
// 0001 | 0010 | 1000 => 1011
- 用
&
来检验是否打开了相应的开关;
void运算
点击链接,提交表单,但不跳转页面。
<a href=“javascript: void(document.form.submit())”>
提交
</a>
逗号运算符
逗号运算符用于对两个表达式求值,先执行逗号之前的操作,然后返回逗号后面的值。
var value = (console.log(‘Hi!’), true);
// Hi!
value // true
圆括号的作用
- 改变优先级;
- 放到函数名后,调用这个函数。
圆括号之中,只能放置表达式
以上是关于JavaScript学习心得04的主要内容,如果未能解决你的问题,请参考以下文章