基础(Base) API¶
Contents
- 基础(Base) API
- K.VERSION
- K.IE
- K.GECKO
- K.WEBKIT
- K.OPERA
- K.MOBILE
- K.QUIRKS
- K.V
- K.TIME
- K.isArray(val)
- K.isFunction(val)
- K.inArray(val , arr)
- K.each(obj , fn)
- K.trim(str)
- K.inString(val , str [, delimiter])
- K.addUnit(val [, unit])
- K.removeUnit(val)
- K.escape(val)
- K.unescape(val)
- K.toCamel(val)
- K.toHex(val)
- K.toMap(val [, delimiter])
- K.toArray(obj [, offset])
- K.undef(val , defaultVal)
- K.invalidUrl(val)
- K.addParam(url, param)
- K.extend(fn , proto)
- K.extend(child , parent , proto)
- K.json(text)
K.isArray(val)¶
判断一个变量是否数组。
- 参数:
- mixed val: 目标变量
返回: 当变量为数组时返回true,否则返回false。
示例:
bool = K.isArray([1, 2, 3]); //返回true
bool = K.isArray({one : 1}); //返回false
K.isFunction(val)¶
判断一个变量是不是函数。
- 参数:
- mixed val: 目标变量
返回: 当变量为函数时返回true,否则返回false。
示例:
bool = K.isFunction(function () { }); //返回true
bool = K.isFunction({}); //返回false
K.inArray(val , arr)¶
查找一个变量在一个数组中第一次出现的索引位置。
- 参数:
- mixed val: 任意变量
- array arr: 数组
返回: 返回第一次出现的索引位置,如果没找到,则返回-1。
示例:
index = K.inArray(2, [1, 2, 3]); //返回1
index = K.inArray(1, [1, 2, 3]); //返回0
index = K.inArray(10, [1, 2, 3]); //返回-1
K.each(obj , fn)¶
遍历一个对象或数组。
- 参数:
- object|array obj: 目标对象或数组
- function fn: 回调函数,回调函数的第一个参数为key,第二个参数为value。
返回: 无
示例:
//遍历数组
K.each([1, 2, 3], function (i) {
console.log(i + ':' + this);
});
//遍历对象
K.each({one : 1, two : 2}, function (key, val) {
console.log(key + ':' + val);
});
K.inString(val , str [, delimiter])¶
判断一个字符串是否包含在目标字符串里。
- 参数:
- string val: 要判断的字符串
- string str: 用delimiter分隔的目标字符串
- string delimiter: 分隔符,默认值为逗号(,)。
返回: boolean
示例:
bool = K.inString('aaa', 'abc,aaa,bbb,ccc'); //返回true
bool = K.inString('aaa', 'abc aaa bbb ccc', ' '); //返回true
K.addUnit(val [, unit])¶
一个数字后面添加指定字符串,如果val不是数字则返回原值。
- 参数:
- string val: 任意数字或字符串
- string str: 单位,默认值为px
返回: string
示例:
width = K.addUnit(100); //返回"100px"
width = K.addUnit('100px'); //返回"100px"
width = K.addUnit('80%'); //返回"80%"
width = K.addUnit(80, '%'); //返回"80%"
width = K.addUnit(''); //返回""
width = K.addUnit(null); //返回null
K.removeUnit(val)¶
从一个字符串中提取数字,如果该字符串中没有数字则返回0。
- 参数:
- int|string val: 任意字符串
返回: int
示例:
width = K.removeUnit('100px'); //返回100
width = K.removeUnit(''); //返回0
width = K.removeUnit(null); //返回0
K.escape(val)¶
将特殊字符转换成HTML entities。
- 参数:
- string val: 任意字符串
返回: string
示例:
var str = K.escape('<div id="abc">&</div>'); //返回"<div id="abc">&</div>"
K.unescape(val)¶
将特殊HTML entities转换成字符。
- 参数:
- string val: 任意字符串
返回: string
示例:
var str = K.unescape('<div id="abc">&</div>'); //返回"<div id="abc">&</div>"
K.toCamel(val)¶
将to-camel格式的字符串转换成toCamel格式。
- 参数:
- string val:
返回: string
示例:
str = K.toCamel('font-weight'); //返回"fontWeight"
K.toHex(val)¶
将任意字符串中的RGB颜色转换成16进制颜色。
- 参数:
- string val: 包含RGB颜色的字符串
返回: string 16进制颜色
示例:
var hex = K.toHex('rgb(0, 0, 0)'); //返回"#000000"
K.toMap(val [, delimiter])¶
将一个字符串或数字转换成key-value对象。
- 参数:
- string|array val: 字符串或者数组,字符串时用delimiter分隔的字符串
- string delimiter: 分隔符,当val为字符串时有效,默认值为逗号(,)
返回: object
示例:
map = K.toMap('abc,aaa,bbb'); //返回{abc : true, aaa : true, bbb : true}
map = K.toMap('abc-aaa-bbb', '-'); //返回{abc : true, aaa : true, bbb : true}
map = K.toMap(['abc', 'aaa', 'bbb']); //返回{abc : true, aaa : true, bbb : true}
K.toArray(obj [, offset])¶
将一个数组风格对象转换成真正的数组。
- 参数:
- object obj: 任意对象
返回: array
示例:
var arr = K.toArray(document.getElementsByTagName('div'));
K.undef(val , defaultVal)¶
当val为undefined时返回defaultVal,否则返回val。
- 参数:
- mixed val: 任意变量
返回: val或defaultVal
示例:
val = K.undef(1, 0); //返回1
var obj = {};
val = K.undef(obj.aaa, 0); //返回0
K.invalidUrl(val)¶
判断URL或路径是否合法。
- 参数:
- string val: URL或路径
返回: boolean
示例:
val = K.invalidUrl('abc<">.html'); //返回true
val = K.invalidUrl('abc.html'); //返回false
K.addParam(url, param)¶
URL添加GET参数,拼接时自动判断连接字符(&或?)。
- 参数:
- string url: URL
- string param: GET参数
返回: boolean
示例:
url = K.addParam('http://www.example.com/test.php', 'abc=123');
url = K.addParam('http://www.example.com/test.php?cde=456', 'abc=123');
K.extend(fn , proto)¶
创建class。
- 参数:
- function fn: Function
- object proto: fn的prototype
返回: undefined
示例:
function Animal() {
this.init();
}
K.extend(Animal, {
init : function() {
console.log('init animal.');
},
run : function() {
console.log('animal is running.');
}
});
var animal = new Animal();
animal.run();
K.extend(child , parent , proto)¶
继承class。
- 参数:
- function child: 子类
- function parent: 父类
- object proto: 子类的prototype
返回: undefined
示例:
// create Animal class
function Animal(name) {
this.init(name);
}
K.extend(Animal, {
init : function(name) {
this.name = name;
},
run : function() {
console.log(this.name + ' is running.');
}
});
// create Cat class
function Cat(name, age) {
this.init(name, age);
}
K.extend(Cat, Animal, {
init : function(name, age) {
Cat.parent.init.call(this, name);
this.age = age;
}
});
var myCat = new Cat('Tony', 5);
console.log(myCat.name); // print 'Tony'
console.log(myCat.age); // print 5
myCat.run(); // print 'Tony is running.'
K.json(text)¶
将JSON字符串转换成JSON对象。
- 参数:
- string text: JSON字符串
返回: object JSON对象
示例:
var obj = K.json('{"a", 0}'); //返回{a : 0}