basic 是一个基础组件,提供一些常用功能,包括但不限于Json、cookie的快捷支持。
一套方便灵活的高可用的前端组合框架.
It is very easy to use this module.
seajs.use('index', function(base) {
//write your some code...
like base.baseUrl();...
});
在需要判断某一对象是否为空(指的是为空字符串或者null)时,使用 object.isEmpty(obj)
函数,该函数返回一个Boolean。
seajs.use(['jquery','index'], function($,base) {
$("#isEmptyBtn").on('click',function(){
var obj = prompt("请输入点什么吧!","null");
$("#isEmpty").html(base.isEmpty(obj)+"");
});
});
<span>
<button id="isEmptyBtn">点击我进行测试</button>
执行后结果:
<span id="isEmpty"></span>
</span>
判断变量的值是否是 undefined,当 o 的值是 undefined 时返回 true Boolean。
seajs.use(['jquery','index'], function($,base) {
$("#isUndefinedBtn").on('click',function(){
var obj = prompt("请输入点什么吧!","undefined");
$("#isUndefined").html(base.isUndefined(obj)+"");
});
});
<span>
<button id="isUndefinedBtn">点击我进行测试</button>
执行后结果:
<span id="isUndefined"></span>
</span>
判断变量的值是否是 null,当 o 的值是 null 时返回 true Boolean。
seajs.use(['jquery','index'], function($,base) {
$("#isNullBtn").on('click',function(){
$("#isNull").html(base.isNull(null)+"|"+base.isNull("null"));
});
});
<span>
<button id="isNullBtn">点击我进行测试</button>
执行后结果:
<span id="isNull"></span>
</span>
- @param {Mixed} o 传入被检测变量的名称
seajs.use(['jquery','index'], function($,base) {
$("#isNumberBtn").on('click',function(){
$("#isNumber").html(base.isNumber(123)+"|"+base.isNumber("123"));
});
});
<span>
<button id="isNumberBtn">点击我进行测试</button>
执行后结果:
<span id="isNumber"></span>
</span>
该函数返回一个Boolean。
* @param {Mixed} o 传入被检测变量的名称
seajs.use(['jquery','index'], function($,base) {
$("#typeofBtn").on('click',function(){
var obj = prompt("请输入点什么吧!","null");
$("#typeof").html(base.$typeof(obj)+"|"+base.$typeof(123)+"|"+base.$typeof(true)+"|"+base.$typeof(function(){}));
});
});
<span>
<button id="typeofBtn">点击我进行测试</button>
执行后结果:
<span id="typeof"></span>
</span>
该函数返回一个Boolean。
在需要序列化提交参数(自动将参数中的空字符串转换成null,
并且将提交参数转化成json对象)时,
使用 object.formatParams(heads,params)
函数,该函数返回一个Json。
seajs.use(['jquery','index'], function($,base) {
$("#formatParamsBtn").on('click',function(){
var heads = new Array("id","name","sex","age","IDcard");
var datas = new Array(1,"小白","男",null,"");
var json = base.formatParams(heads,datas);
console.log(json);
$("#formatParams").html(json);
});
});
<span>
<button id="formatParamsBtn">点击我进行测试</button>
执行后结果:
<span id="formatParams"></span>
</span>
在需要根据DOM节点ID自动将服务器返回的json数据插入页面DOM中时,使用 object.autoInsertDataByParam(rst,params)
函数。
seajs.use(['jquery','index'], function($,base) {
$("#autoInsertDataByParamBtn").on('click',function(){
//准备的模拟服务器返回的json数据
var rst = $.parseJSON('{"msg":"","state":0,"result":{"len":1,"head":["id","name","age"],"data":[[1,"小白","22"]]}}');
var params = new Array("id","name","age");
base.autoInsertDataByParam(rst,params);
});
});
<span>
<button id="autoInsertDataByParamBtn">点击我进行测试</button>
<br/><br/>
执行后结果:
<br/><br/>
id:<input id="id" type="text"/>
name:<input id="name" type="text"/>
age:<input id="age" type="text"/>
</span>
在需要解析服务器返回的JSON对象数据,获取某一head头所对应的data数据时,
使用 object.getValueByHead(rst,head)
函数,该函数返回一个String。
seajs.use(['jquery','index'], function($,base) {
$("#getValueByHeadBtn").on('click',function(){
//准备的模拟服务器返回的json数据
var rst = $.parseJSON('{"msg":"","state":0,"result":{"len":1,"head":["id","name","age"],"data":[[1,"小白","22"]]}}');
alert(base.getValueByHead(rst,"id"));
alert(base.getValueByHead(rst,"name"));
alert(base.getValueByHead(rst,"age"));
});
});
<span>
<button id="getValueByHeadBtn">点击我进行测试</button>
<br/><br/>
执行后结果:【请点击上边的按钮,在乎一下弹出框中的值好吗。。。】
</span>
在需要创建json对象,生成GsonHeadOneRow时,使用 object.createJsonData(head,data)
函数,该函数多用于提交数据时生成json数据对象,该函数返回一个Json。
seajs.use(['jquery','index'], function($,base) {
$("#createJsonDataBtn").on('click',function(){
//准备的模拟服务器返回的json数据
var head = Array("name","age","sex","id");
var data = Array("发哥",21,"男",100);
var json = base.createJsonData(head,data);
console.log(json);
});
});
<span>
<button id="createJsonDataBtn">点击我进行测试</button>
执行后结果:请打开控制台查看log
</span>
在需要重定向页面时,使用 object.goPage(url)
函数。
seajs.use(['jquery','index'], function($,base) {
$("#goPageBtn").on('click',function(){
//打开网址:http://www.dreamstu.com/
base.goPage("http://www.dreamstu.com/");
});
});
<span>
<button id="goPageBtn">点击我进行测试</button>
执行后结果:你懂的、、、
</span>
在需要后退页面时,使用 object.back()
函数。
seajs.use(['jquery','index'], function($,base) {
$("#backBtn").on('click',function(){
//后退
base.back();
});
});
<span>
<button id="backBtn">点击我进行测试</button>
执行后结果:你懂的、、、
</span>
在需要重载页面时,使用 object.reload()
函数。
seajs.use(['jquery','index'], function($,base) {
$("#reloadBtn").on('click',function(){
//重载页面
base.reload();
});
});
<span>
<button id="reloadBtn">点击我进行测试</button>
执行后结果:你懂的、、、
</span>
在需要获取当前页面url地址时,使用 object.getCurrUrl()
函数,该函数返回一个String。
seajs.use(['jquery','index'], function($,base) {
$("#getCurrUrlBtn").on('click',function(){
//重载页面
$("#getCurrUrl").html(base.getCurrUrl());
});
});
<span>
<button id="getCurrUrlBtn">点击我进行测试</button>
执行后结果:<span id="getCurrUrl"></span>
</span>
在需要获取url参数时,使用object.getUrlParam(name)
函数,该函数返回一个String。
seajs.use(['jquery','index'], function($,base) {
//请自己给当前地址加上请求参数 ?id=100&name=小白
var id = base.getUrlParam("id");
var name = base.getUrlParam("name");
$("#getUrlParam").html("ID:"+id+" Name:"+name);
});
执行后结果:
<span id="getUrlParam"></span>
生成随机数的方法
@param {Number} min 生成随机数的最小值 @param {Number} max 生成随机数的最大值 @return {Number} 返回生成的随机数
克隆一个对象
@param {Object} o 要克隆的对象 @return {Object} 返回通过克隆创建的对象
var objA = {name: "Kinvix"};
// 克隆一个 objA 对象,并存入 objB 中。
var objB = clone(objA);
生成一个返回值是传入的 value 值的函数
@param {Mixed} value 要返回的值 @return {Mixed} 返回一个返回值是 value 的函数
按顺序执行 funcA, funcB, funcC,当中途有一个 func 的执行结果返回 true 则不再往下执行,并返回成功执行的 func 的返回值;
$try(funcA, funcB, funcC....);
获取当前时间的函数
通用分时处理函数
获取对象自身具有的属性和方法的数量
@param {Object} obj 要获取的对象
@return {Number} 返回对象自身具有属性和方法的数量
一个空函数函数
@return {Number} 返回一个空函数
给函数传入参数并执行
@param {Mixed} args 参数列表
@return {Mixed} 返回函数执行结果
示例:
// 将"a"、"b"两个字符串传入funcA函数并执行
funcA.pass("a","b");
将一个函数绑定给一个对象作方法,返回的函数将总被传入{@code obj} as {@code this}
@param {Function} func 要绑定的函数
@param {Object} contextObj 要绑定的对象
@param {Mixed} args 参数列表,长度任意
@return {Function} 返回一个被绑定this上下文对象的函数
示例:
funcB = bind(funcA, obj, a, b)
funcB(c, d) // 相当于执行 funcA.call(obj, a, b, c, d)