web笔试题小练(3)

来源:互联网 发布:横向样本统计指标源码 编辑:程序博客网 时间:2024/05/17 01:03
javascript中怎样判断某个对象是不是数组?

如:

var arr = [];alert(isArray(arr)); // truefunction isArray(arg){  return Object.prototype.toString.call(arg) === '[object Array]';}</span>




这里是调用了 Object 对象原型的 toString 方法,如果对象是数组,则该函数返回’[object Array]‘。

同样这种方法也可用来获得任何其他变量的类型,不管变量的实际类型是什么,返回值都是以 object 开头,因为 Nunmber,String,Boolean,Array,Function 都继承Object 对象,而每一个变量,都是与其类型相应的对象的一个实例。如:


/* Object.prototype.toString.call(arg); // arg 可以是任何变量,不管变量的实际类型是什么,返回值都是以 object 开头。 */

检验数字:
var num = 1;
alert(Object.prototype.toString.call(num)); // [object Number]

检验字符串:

var str = 'hudidit.com';

alert(Object.prototype.toString.call(str)); // [object String]

检验布尔值:

var boo = true;
alert(Object.prototype.toString.call(boo)); // [object Boolean]


检验function方法:
var fun = function(){};
alert(Object.prototype.toString.call(fun)); // [object Function]

检验对象:

var obj = {};
alert(Object.prototype.toString.call(obj)); // [object Object]


另外还有一个instanceof方法:

如:
instanceof
var arr = [];
alert(arr instanceof Array); // true
instanceof 运算符用于判断一个变量是否为一个对象的实例。在这里,arr 是 Array 对象的一个实例,所以 arr instanceof Array 会返回 true ,从而我们知道变量 arr 是一个数组。

0 0
原创粉丝点击