1、Array.prototype.slice.apply(arguments,[0/1/2])函数,截取调用函数传来的参数,[0],所有,[1],返回 222,33,55。 [2]返回,33,55
<script type="text/javascript">
function test(){
//将参数转为一个数组
var args = Array.prototype.slice.apply(arguments,[1]);
//alert(args);
}
test(11,222,33,55);
</script>
2、Function.apply(obj,args)函数, obj:这个对象将代替Function类里this对象, args:这个是数组,它将作为参数传给Function(args-->arguments)
<script type="text/javascript">
- var parent = {
- method: function () {
- console.log(this);
- }
- };
var arr = {};
arr.name = function(name){
console.log('name:'+name);
};
function info(fun){
var args = Array.prototype.slice.apply(arguments,[1]);
fun.apply(this,args);
}
info(arr['name'],'stelin');
</script>
3、这段js值得收藏
<script type="text/javascript">
var _func = {};
function inits(){
console.log('inits');
}
function a(){
console.log('aa');
}
function addFunctionItem(item,fun){
if(!_func[item]){
_func[item] = [];
}
_func[item] = $.merge(_func[item],[fun]);//[fun]作为数组对象合并
}
function operateFuncs(item){
if(!_func[item]){
_func[item] = [];
}
args = Array.prototype.slice.apply(arguments, [1]); //参数截取 返回[1,2] '[1]'表示截取1后面的所有参数(0开始)
alert(args);
$.each(_func[item],function(){
this.apply(this,args);//循环数组中函数,传参数,执行函数,函数必须保持在数组中,才能这样用
});
}
var _theme = function(fun) {
var args = Array.prototype.slice.apply(arguments, [1]);
return (_theme[fun] || _theme.prototype[fun]).apply(this, args);
}
_theme.prototype = {};
_theme.prototype.loginLink = function (username){
return 'your name'+username;
}
_theme.prototype.logout = function (username){
return 'logout your'+username;
}
addFunctionItem('func',inits()); //这样初始化,默认数组_func里面为空[函数执行]
console.log('1:'+_func['func']);
addFunctionItem('func',a());
console.log('2:'+_func['func']);
//默认执行函数
addFunctionItem('func',function after(name,age){console.log('after_log-'+name+'_'+age)});////这样初始化,默认数组_func里面不为空[函数不执行]
addFunctionItem('func',function out(name,age){console.log('out_log-'+name+'_'+age)});
console.log('after:'+_func['func']);
var args = {};
operateFuncs('func',1,2); //这样在来执行没有执行的函数
_theme.prototype.loginLink = function (username){
return 'your name tow '+username; //覆盖之前
}
_theme.prototype.logout = function (username){
return 'logout your two '+username;
}
var name = _theme('loginLink','stelin');
console.log(name);
console.log(_theme('logout','stelin'));
</script>
分享到:
相关推荐
jquery刷新页面和JS常用的函数。另外jQuery实现跨域调用的问题可以联系我。
setTimeout()从载入后延迟指定的时间去执行一个表达式或者是函数;仅执行一次 ;和window.clearTimeout一起使用.我在 代码如下:$(document).ready(function(){setTimout(test(),200); function test() { alert(1&#...
主要介绍了jquery trigger函数执行两次的解决方法,详细分析了trigger函数执行两次的原因与响应的解决技巧,非常具有实用价值,需要的朋友可以参考下
在Jquery中,所有的DOM对象都将封装成Jquery对象,而且只有Jquery...jquery(elements) 该函数将一个或多个DOM元素转化为Jquery对象(或jquery集合) jquery(callback) 该函数是jquery(document).ready(callback)的简
延时执行跳转或执行函数 url可以为地址或者定义好的javascript/jquery函数, 定义每次延时时间和延时次数, callback是每次延时可以执行的回调函数
我正在开发Phonegap构建游戏应用程序,其中我们在单个屏幕上有2个部分,分别对应2个功能。 第一个功能将在第一部分显示随机图像和文本。 第二部分将在第二部分处理新级别。 现在的问题是,由于...,UI完全被打乱了。
本文是小编给大家带来的jQuery Ajax Post 回调函数不执行的原因及解决方法,在本文最下面还给大家附加jquery Ajax 不执行回调函数success的原因,这两个问题都非常多见,感兴趣的朋友一起看下吧
主要介绍了jquery中ajax函数执行顺序问题之如何设置同步,需要的朋友可以参考下
第17周-第20章节-Python3.5-JQuery扩展以及自动执行函数的应用.avi
用于将队列中的函数延时执行。他既可以推迟动画队列的执行,也可以用于自定义队列。 duration:延时时间,单位:毫秒 queueName:队列名词,默认是Fx,动画队列。 例: 头部与底部延迟加载动画效果 $(document).ready...
在JS中,作用域是通过函数来划分的,将JS代码封装到函数中进行调用可以避免变量名/函数名冲突的问题,但是这也并不是万无一失,因为封装函数本身有可能和其它函数重名,解决方案:自执行函数。 自执行函数是用一对圆...
jQuery 遍历函数包括了用于筛选、查找和串联元素的....each() 对 jQuery 对象进行迭代,为每个匹配元素执行函数。 .end() 结束当前链中最近的一次筛选操作,并将匹配元素集合返回到前一次的状态。 .eq() 将匹配元素集
主要介绍了解决JQuery的ajax函数执行失败alert函数弹框一闪而过问题,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
1. jQuery是第三方开发的执行DOM操作的极简化的函数库 (1). 第三方: 除了浏览器自带的函数和程序员自己编写的函数外,由第三方组织或个人编写的函数或对象——都要先下载才能用(官网: www.jquery.com) (2). 执行...
js操作Cookie子键+Jquery调用Ajax方法执行后台操作 返回值给前台。详细注释 Demo
场景 有a、b、c三个异步任务...大家也可以类比一下jQuery的animate方法,添加多个动画也会按顺序执行 解决 模拟3个异步函数 // 异步函数a var a = function () { return new Promise(function (resolve, reject) {
jQuery 遍历函数 jQuery 遍历函数包括了用于筛选、查找和串联元素的方法。 函数 描述 ...将元素添加到匹配元素...对 jQuery 对象进行迭代,为每个匹配元素执行函数。 .end() 结束当前链中最近的一次筛选操作,并将
jQuery 是一个“写的更少,但做的更多”的轻量级 JavaScript 函数库。 1.2.jQuery的优势 可以简化JavaScript代码 可以像css那样获取元素 可以修改css来控制页面效果 可以兼容常用的浏览器 1.3.jQuery...