最新高频js函数

176 阅读1分钟

www.cnblogs.com/Trr-9846881…

typeof 是一个一元运算,放在一个运算数之前,运算数可以是任意类型。

它返回值是一个字符串,该字符串说明运算数的类型。(typeof 运算符返回一个用来表示表达式的数据类型的字符串。 )

typeof其实就是判断参数是什么类型的实例,就一个参数

typeof 一般只能返回如下几个结果:"number"、"string"、"boolean"、"object"、"function" 和 "undefined"。

运算数为数字 typeof(x) = "number"

字符串 typeof(x) = "string"

布尔值 typeof(x) = "boolean"

对象,数组和null typeof(x) = "object"

函数 typeof(x) = "function"

对于 Array,Null 等特殊对象使用 typeof 一律返回 object,这正是 typeof 的局限性。

why 经常会在js里用到数组,比如 多个名字相同的input, 若是动态生成的, 提交时就需要判断其是否是数组.

正确的是 if( typeof(document.mylist.length) != "undefined" ) {}

if( !isNaN(document.mylist.length) ) {} 

typeof的运算数未定义,返回的就是 "undefined".

instanceof 运算符用来测试一个对象在其原型链中是否存在一个构造函数的 prototype 属性。

why

  1. instanceof 用于判断一个变量是否某个对象的实例,
  2. 另外,更重的一点是 instanceof 可以在继承关系中用来判断一个实例是否属于它的父类型。
如 :var a=new Array();

alert(a instanceof Array); // true,

同时 alert(a instanceof Object) //也会返回 true;

这是因为 Array 是 object 的子类。



再如:function test(){};

var a=new test();

alert(a instanceof test) 会返回true

alert(a==b);  //flase