<script>
let arr = [1, 2, 3, 4, 5, 6]
let arr1 = [1, 2, 3, 4, 5, 6]
let str = '1223423423423'
let str1 = '1223423423423'
console.log(arr.splice(1, 0, 'we')) //后面是长度 改变原数组 //增删改查
//[]
console.log(arr)
//[1, "we", 2, 3, 4, 5, 6]
console.log(arr1.slice(1, 3)) //后面是下标 不会改变原数组
//[2, 3]
console.log(arr1)
//[1, 2, 3, 4, 5, 6]
console.log(str.substr(1, 3)) //后面是长度 不会改变原字符串
//223
console.log(str)
//1223423423423
console.log(str1.substring(1, 3)) //后面是下标 不会改变原字符串
//22
console.log(str1)
//1223423423423
console.log(NaN == NaN) //false
console.log(NaN === NaN) //false
console.log(undefined == undefined) //true
console.log(undefined === undefined) //true
console.log(null == null) //true
console.log(null === null) //true
var a = 'hello world';
var b = [];
var c = function () { };
console.log(a instanceof Object) //false
console.log(b instanceof Object) //true
console.log(c instanceof Object) //true
console.log(a instanceof Array) //false
console.log(b instanceof Array) //true
console.log(c instanceof Array) //false
console.log(a instanceof Function) //false
console.log(b instanceof Function) //false
console.log(c instanceof Function) //true
console.log(Object.prototype.toString.call(a))
console.log(Object.prototype.toString.call(b))
console.log(Object.prototype.toString.call(c))
console.log(Object.prototype.toString.call(null))
console.log(Object.prototype.toString.call(NaN))
console.log(Object.prototype.toString.call(undefined))
// 输出:
// [object String]
// [object Array]
// [object Function]
// [object Null]
// [object Number]
// [object Undefined]
</script>