普通函数写法
用ES5的方法:
1.利用Array原型上的isArray()方法,是数组放回true,不是返回false
function fn1(obj){
if(Array.isArray(obj)){
//原型方法调用 原型.方法 Array.isArray()
console.log('Array')
}else{
console.log(`Not is Array`)
}
}
用ES6的方法:
2.利用 instanceof 检测是不是在原型上
function fn1(obj){
if(obj.instanceof Array){
//解析: 检测 n 变量 是不是在Array 的原型上
console.log('Array')
}else{
console.log(`Not is Array`)
}
}
面向对象的写法
class Fn {
fn(obj){
if(Array.isArray(obj)){
console.log('Array')
}else{
console.log(`Not is Array`)
}
}
fn1(obj){
if(obj.instanceof Array){
console.log('Array')
}else{
console.log(`Not is Array`)
}
}
}
var fn1 = new Fn()
console.log(fn1.fn([4])) //打印 Array
面向对象加入TS
class Fn {
fn(obj:any):void{
if(Array.isArray(obj)){
console.log('Array')
}else{
console.log(`Not is Array`)
}
}
fn1(obj:any):void{
if(obj.instanceof Array){
console.log('Array')
}else{
console.log(`Not is Array`)
}
}
}
var fn1:Fn = new Fn()
console.log(fn1.fn([4]))