1)、typeof (obj); 返回变量的类型
var myString = 'hello';
typeOf(myString); // 返回该变量的类型为string
2)、instanceOf(item, object) ;检查一个对象是否是一个特定类型的一个实例。
item 要检测的对象,object 该对象的类型,返回一个bool类型的值
var foo = []; // 定义一个数组 foo
instanceOf(foo, Array) // 判断是否为数组,返回true
instanceOf(foo, String) // 判断是否为字符串,返回false
var myClass = new Class(); //定义类myClass
var bar = new myClass(); // 实例化myClass类,定义对象bar
instanceOf(bar, myClass) // returns true 判断bar 是否属于类myClass,返回true
3)、myType.implement(name, method); 或 myType.implement(methods);为已有的类型实现一种或多种新的方法,类似接口。
name 方法名称,method方法体。
Array.implement('limitTop', function(top){ // 为已有类型Array 实现新方法limitTop
for (var i = 0, l = this.length; i < l; i++){
if (this[i] > top) this[i] = top;
}
return this;
});
[1, 2, 3, 4, 5, 6].limitTop(4); // returns [1, 2, 3, 4, 4, 4] //直接使用方法
也可以只定义方法,则可以定义多个方法,灵活调用
String.implement({
repeat: function(times){ // 实现了一个repeat方法
var string = '';
while (times--) string += this;
return string;
},
ftw: function(){ // 实现了一个ftw方法
return this + ' FTW!';
}
});
'moo! '.repeat(3); // returns "moo! moo! moo! " 调用repeat方法
'MooTools'.ftw(); // returns "MooTools FTW!" 调用ftw方法
('MooTools'.ftw() + ' ').repeat(2); // returns "MooTools FTW! MooTools FTW! " 混合调用