1. 程式人生 > 實用技巧 >pwn-[XMAN]level5

pwn-[XMAN]level5

技術標籤:javascriptjavascript

判斷一個值是否為陣列

1、陣列自帶方法 Array.isArray(arr);//返回true或false

這裡寫圖片描述

2、判斷該變數的建構函式是否為Array

這裡寫圖片描述

3、通過Object.prototype.toString判斷

Object.prototype.toString.call(o) === ‘[object Array]’; //true

4、通過instanceof判斷

這裡寫圖片描述

5、用jQuery的方法判斷($.isArray(arr))

判斷值是否為物件

1、toString() 第一選擇

let obj = {}
Object.prototype.toString.call(obj) === ‘[Object Object]‘

2、constructor

let obj = {}
obj.constructor === Object

3、instanceof

注意:使用instanceof對陣列進行判斷也是物件

let obj = {}
obj instanceof Object  //true
let arr = []
arr instanceof Object  //true

4、typeof

let obj = {}
typeof obj === Object
// 根據typeof判斷物件也不太準確
表示式                       返回值
typeof undefined           ‘undefined‘
typeof null                ‘object‘
typeof true                ‘boolean‘
typeof 123                 ‘number‘
typeof "abc"               ‘string‘
typeof function() {}       ‘function‘
typeof {}                  ‘object‘
typeof []                  ‘object‘

js中判斷物件是否為空

1.es6中可以使用Object.keys(obj)

var data = {};
var arr = Object.keys(data);
alert(arr.length == 0); //true 為空, false 不為空

2.將json物件轉化為json字串,再判斷該字串是否為"{}"

var data = {};
var b = (JSON.stringify(data) == "{}");
alert(b);   //true 為空, false 不為空