JavaScript中什么是可变参数?可以详解下吗

JavaScript017

JavaScript中什么是可变参数?可以详解下吗,第1张

参数不固定就是可变参数。

比如function fn(a,b,c,d,e...){}

这个函数调用的时候可以一个参数也不传,也可以传很多个参数。传入的参数个数是可变化的,就叫做可变参数。

如果觉得输入参数太多很麻烦,可以采用传入对象的方式。

比如function fn(options) {}

其中options是一个可以自由扩展的集合

{

a:1,

b:2,

c:3,

d:1

.......

}

可以通过options.a options.b这种形式访问

先看下jquery $.fn $.fx是什么意思

$.fn是指jquery的命名空间,加上fn上的方法及属性,会对jquery实例每一个有效。

如扩展$.fn.abc(),即$.fn.abc()是对jquery扩展了一个abc方法,那么后面你的每一个jquery实例都可以引用这个方法了.

那么你可以这样子:$("#div").abc()

这个您最好做一个全局的变量来判断,这样才好控制其执行与不执行,省去多余的重复的绑定。

另外一种就是实例开始已经对元素绑定了事件,那么只需要unbind其事件即可,前提是fn里的绑定事件也是用bind绑定的。

var isbind=true

function jiebang(){

isbind=false

}

$(function(){

    $('.ABC').swipeSS()

})

(function(win,$){

    $.fn.swipeS = function(options){

    return this.each(function(){

        $(this).on("touchstart", function(event) {

        if(!isbind){return}//这里判断

             alert( $( this ).css('height') )

        }

    }

}

这是jquery的插件,(function($){})应该是(function($){})(jQuery),也就是把jQuery对像传进函数里面去,用$表示,以防外部的$被误改变或jquery指定不能用$时(兼容其它框架),而造致jquery功能的失效。和$(function(){})是两回事,这个是执行一个匿名函数.

$.fn.wBox就是jquery自定义的功能,等同于$.prototype.wBox,后面跟的是参数,用的是json对象。