基本数据类型
string number null undefined boolean
例:var str = "天气真好",
num = 10,
boo = true,
und,
nu = null;
str+num ---> 天气真好10 数据类型:string
str+boo ---> 天气真好true 数据类型:string
str+und ---> 天气真好undefined 数据类型:string
str+nu ---> 天气真好null 数据类型:string
num+boo ---> 11 数据类型:number
num+und --->NaN 数据类型:number
num+nu --->10 数据类型:number
nu+und ---> NaN 数据类型:number
nu+boo ---> 1 数据类型:number
数据转换
toString() :可将其它类型转为字符串类型,但对
null
和undefined
不适用Number() 可以将任意类型的值转化成数值 Number(null) ---> 0 Number(undefined) ---> NaN
parseInt() 将数据转换为number类型的整数,碰到第一个非整数的字符停止转换,无法转换时 返回NaN
parseFloat() 将数据转换为number类型的浮点数,碰到第一个非小数点或数字停止转换
var num1 = "120.120"; // 120 number
var num2 = "aaa120.120"; // NaN number
var num3 = "12aaa0.120"; // 12 // number
console.log(parseInt(num1));
console.log(parseInt(num2));
console.log(parseInt(num3));
// parseFloat
var x1 = '3.14159';
var x2 = 'aaa3.14159';
var x3 = '3aaa.14159';
console.log(parseFloat(x1), typeof(x1)); // 3.14159 string
console.log(parseFloat(x2), typeof(x2)); // NaN string
console.log(parseFloat(x3), typeof(x3)); // 3 string
var y1 = '3.14';
var y2 = 'aa3.14';
var y3 = '3.aa14'
y1 = parseFloat(y1);
y2 = parseFloat(y2);
y3 = parseFloat(y3);
console.log(y1, typeof(y1)) // 3.14 number
console.log(y2, typeof(y2)) // NaN number
console.log(y3, typeof(y3)) // 3 number
逻辑运算符
&& 逻辑与
|| 逻辑或
! 逻辑非
运算方法:
真前假后
只要“&&”前面是false,无论“&&”后面是true还是false,结果都将返“&&”前面的值;
只要“&&”前面是true,无论“&&”后面是true还是false,结果都将返“&&”后面的值;
假前真后
只要“||”前面为false,不管“||”后面是true还是false,都返回“||”后面的值。
只要“||”前面为true,不管“||”后面是true还是false,都返回“||”前面的值。
位运算
将这个数转换为二进制数然后再做运算
& 按位与 判断奇偶 同时为一,才为1,否则为0
var a = 7;console.log(a & 1) 1 结果为1 则为 奇数
var a = 8;console.log(a & 1) 0 结果为0 则为 偶数
| 按位或 向下取整 只要有一个为1时 ,为1 ,否则为0
var a = 3.5;
console.log(a | 0) --- > 3
^ 异或 交换两个数的位置 有且只有一个为1时,才为1 , 否则为0
var x = 10,
y = 20;
x = x ^ y; // x ^= y
y = x ^ y; // y ^= x
x = x ^ y; // x^=y