js 基本数据类型之间的计算

烂漫一生 提交于 2019-12-11 08:15:26

单个运算符的特殊案例:
console.log(+true); // 1
console.log(-true); // -1
console.log(!true); // false
console.log(+undefined);// NaN
console.log(-undefined);// NaN
console.log(!undefined);// true
console.log(+false);// 0
console.log(-false);// -0
console.log(!false);// true
console.log(+null); // 0
console.log(-null); // -0
console.log(!null); // true

关于0的特殊情况:
0/0型
console.log(0/0); // NaN
console.log(""/0); // NaN
console.log([]/0); // NaN
console.log({}/0); // NaN
console.log(false/0); // NaN
console.log(undefined/0);// NaN
console.log(null/0); // NaN

console.log(""/""); // NaN
console.log(0/""); // NaN
console.log([]/""); // NaN
console.log({}/""); // NaN
console.log(undefined/"");// NaN
console.log(null/""); // NaN
console.log(false/""); // NaN

console.log(undefined/undefined);// NaN
console.log(null/undefined); // NaN
console.log(false/undefined); // NaN
console.log(0/undefined); // NaN
console.log(""/undefined); // NaN
console.log([]/undefined); // NaN
console.log({}/undefined); // NaN

console.log(null/null); // NaN
console.log(undefined/null);// NaN
console.log(false/null); // NaN
console.log(0/null); // NaN
console.log(""/null); // NaN
console.log([]/null); // NaN
console.log({}/null); // NaN

console.log([]/[]); // NaN
console.log({}/[]); // NaN
console.log(’’/[]); // NaN
console.log(0/[]); // NaN
console.log(undefined/[]); // NaN
console.log(null/[]); // NaN
console.log(false/[]); // NaN

console.log({}/{}); // NaN
console.log([]/{}); // NaN
console.log(0/{}); // NaN
console.log(’’/{}); // NaN
console.log(false/{}); // NaN
console.log(null/{}); // NaN
console.log(undefined/{}); // NaN

1/0型
console.log(1/0); // Infinity
console.log(“1”/0); // Infinity
console.log(true/0); // Infinity
console.log([0]/0); // NaN
console.log({“0”:0}/0); // NaN

console.log(1/""); // Infinity
console.log(“1”/""); // Infinity
console.log(true/""); // Infinity
console.log([0]/""); // NaN
console.log({“0”:0}/""); // NaN

console.log(1/undefined); // NaN
console.log(“1”/undefined); // NaN
console.log(true/undefined); // NaN
console.log([0]/undefined); // NaN
console.log({“0”:0}/undefined); // NaN

console.log(1/null); // Infinity
console.log(“1”/null); // Infinity
console.log(true/null); // Infinity
console.log([0]/null); // NaN
console.log({“0”:0}/null); // NaN

console.log(1/false); // Infinity
console.log(“1”/false); // Infinity
console.log(true/false); // Infinity
console.log([0]/false); // NaN
console.log({“0”:0}/false); // NaN

console.log(1/[]); // Infinity
console.log(“1”/[]); // Infinity
console.log(true/[]); // Infinity
console.log([0]/[]); // NaN
console.log({“0”:0}/[]); // NaN

console.log(1/{}); // NaN
console.log(“1”/{}); // NaN
console.log(true/{}); // NaN
console.log([0]/{}); // NaN
console.log({“0”:0}/{}); // NaN

其他
console.log(true - true); // 0
console.log(true - false); // 1
console.log(true - null); // 1
console.log(true - 0); // 1
console.log(true - “0”); // 1
console.log(true - undefined); // NaN

console.log(true + true); // 2
console.log(true + false); // 1
console.log(true + null); // 1
console.log(true + 0); // 1
console.log(true + “0”); // true0
console.log(true + undefined); // NaN

console.log(false - false); // 0
console.log(false - true); // -1
console.log(false - null); // 0
console.log(false - 0); // 0
console.log(false - “0”); // 0
console.log(false - undefined); // NaN

console.log(false + false); // 0
console.log(false + true); // 1
console.log(false + null); // 0
console.log(false + 0); // 0
console.log(false + “0”); // false0
console.log(false + undefined); // NaN

console.log(null - null); // 0
console.log(null - true); // -1
console.log(null - false); // 0
console.log(null - 0); // 0
console.log(null - “0”); // 0
console.log(null - undefined); // NaN

console.log(null + null); // 0
console.log(null + true); // 1
console.log(null + false); // 0
console.log(null + 0); // 0
console.log(null + “0”); // null0
console.log(null + undefined); // NaN

console.log(undefined - undefined); // NaN
console.log(undefined - null); // NaN
console.log(undefined - false); // NaN
console.log(undefined - true); // NaN
console.log(undefined - 0); // NaN
console.log(undefined - “0”); // NaN

console.log(undefined + undefined); // NaN
console.log(undefined + null); // NaN
console.log(undefined + false); // NaN
console.log(undefined + true); // NaN
console.log(undefined + 0); // NaN
console.log(undefined + “0”); // undefined0

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!