1、JavaScript的typeof返回 哪些数据类型
object、number、function、Boolean、undefined、string
2、3种强制类型转换
强制:parseInt、parseFloat、Number()
隐式类型转换:
(1)隐式:==
(2) 对象和布尔值比较:对象先转换为字字符串,然后转换为数字,布尔值也要转换为数字
对象和字符串比较:对象先转换为字符串,然后进行比较
对象和数字比较:对象先转换为字符串,然后转换为数字进行比较
字符串和数字比较:字符串先转换为数字,然后比较
字符串和布尔值比较:字符串和布尔值全部转换成数字进行比较
布尔值和数字:布尔值转换为数字进行比较
undefined == null // true
Number(null)// 0
[] == false //true
![] == false //true
注意:空字符(‘’),NaN,0,undefined这几个转换为布尔值都是false,其他的转换为布尔值都为true
字符串+数字,数字转换为字符串
数字减字符串,字符串转换为数字
数字乘除大于小于,字符串转换为数字
3、split()与join()的区别
前者是切割成数组的形式,split()传入一个参数,这个参数可以是字符串或者正则表达式(可看mdns官网详解)
后者是将数组转换成字符串,例子如下
const uint8 = new Uint8Array([10, 20, 30, 40, 50]);
console.log(uint8.join());
// expected output: "10,20,30,40,50"
console.log(uint8.join(''));
// expected output: "1020304050"
console.log(uint8.join('-'));
// expected output: "10-20-30-40-50"
4、数组方法pop() push() unshift() shift()
push()尾部添加 pop()尾部删除
unshift()头部添加 shift()头部删除
shift的例子:
var array1 = [1, 2, 3];
var firstElement = array1.shift();
console.log(array1);
// expected output: Array [2, 3]
console.log(firstElement);
// expected output: 1
unshift的例子
var array1 = [1, 2, 3];
console.log(array1.unshift(4, 5));
// expected output: 5
console.log(array1);
// expected output: Array [4, 5, 1, 2, 3]