Javascript - Jquery - 函数参数

函数参数(Parameter Mapping)

多参数

当一个函数具有多个参数时,如果我们在调用该函数时传递一大堆参数进去,而有些参数并不是必须的,代码看起来就有点混乱,此时可以使用匿名对象来解决。将参数作为匿名对象的属性,然后将匿名对象作为函数的参数即可。

参数替换

函数内部可以定义一个对象,设置对象的属性就是设置函数参数的默认值。

function aa(options) {
    //配置默认参数
    var param = { gender: ‘man‘, age: 18 };
   //extend方法本来是用于为JQuery扩展方法的,但当它接受两个参数时,其作用就是合并用户传递的参数和默认参数而非扩展方法。合并后函数使用的参数以用户传递的为准,没传递的参数就自动会用默认值替代。
    $.extend(param, options);
    alert(param.age);
}

aa();//调用aa,不提供参数会使用默认参数
aa("woman");//提供一个参数,另一个会使用默认参数
aa("woman",20);//提供两个参数,不再使用默认参数

深度替换

如果函数的参数(对象)的某个属性也是对象,是否进行全部合并需要为extend提供一个布尔值。

function aa(options) {
    var op = $.extend(true, { gender: "man", job: { Salary: ‘1000‘, typesWork: ‘scientist‘, age: 30 } }, options);
    return op;
}

var test=aa({ name: ‘leo‘ ,  job : { Salary : ‘100000‘ , typesWork : ‘Programmer‘ } });
for (var i in test) {
    var jobObj = test[i];
    if (typeof jobObj == "object") {
        for (var z in jobObj) {
            alert(z + ":" + jobObj[z]);
        }
    }
    else {
        alert(i + ":" + test[i]);
    }
}
//参数替换的结果为:{name: ‘leo‘ { gender: "man", job: { Salary: ‘100000‘, typesWork: ‘Programmer‘, age: 30 }}
//如果指定第一个参数为false则结果会忽略age

Javascript - 学习总目录

时间: 2024-10-07 22:51:25

Javascript - Jquery - 函数参数的相关文章

JavaScript中函数参数的值传递和引用传递

结论:对于数字.字符串等是将它们的值传递给了函数参数,函数参数的改变不会影响函数外部的变量. 对于数组和对象等是将对象(数组)的变量的值传递给了函数参数,这个变量保存的指向对象(数组)的地址.当函数改变这个地址指向的对象(数组)的内容时,同时也改变了函数外部变量指向的对象(数组)的内容:当函数改变的是变量的地址时,实际就与函数外部的变量失去了联系,变成了完全不同的对象了,不会对函数外部对象造成改变. 很多人认为 JS 中参数有两种传递方式:数字.字符串等按值传递:数组.对象等按地址(引用)传递.

JavaScript&jQuery.带参数的函数

带参数的函数 创建带参数的函数 创建公式如下: function 函数名(参数1,参数2,...){ // 语句 } 同一节创建函数几乎一样,不同之处多了参数,参数可以是一个,也可以是多个. 参数在这里相当于变量,可是与声明变量不一样,不需要var关键字来声明. 调用带参数的函数 函数创建后,就可以调用,执行函数体内的语句--指令. 调用形式如下: 函数名(实参1,实参2,...); 带参数的函数和不带参数的函数对比,调用时需要传递参数进去,这个参数叫实参,即指定参数的实际值. 如果说形参相当于

JavaScript中函数参数的按值传递与按引用传递(即按地址传递)

首先声明一句:JavaScript中所有函数的参数都是按值传递的!不存在按引用传递! 在讲传递参数之前我们先来讲一下指针. 学过C指针的应该都知道,指针变量中保存的是一个地址,程序可以根据所保存的地址访问内存中对应的值并进行操作,如下图: 其中地址为0x00000016保存的是一个地址,指向地址0x00000036,即0x00000016被开辟为一个指针变量,可以引用0x00000036地址的值,这是按引用方式访问变量:另外一种访问变量的方式是按值访问,即图中0x00000008地址. 在Jav

6 JavaScript函数&内置构造&函数提升&函数对象&箭头函数&函数参数&参数的值传递与对象传递

JavaScript函数:使用关键字function定义,也可以使用内置的JavaScript函数构造器定义 匿名函数: 函数表达式可以存储在变量中,并且该变量也可以作为函数使用. 实际上是匿名函数. <body> <p>函数存储在变量后,变量可作为函数使用:</p> <p id="demo"></p> <script> var x = function(a,b){return a+b; }; document.g

Javascript/jQuery 获取地址栏URL参数的方法

1.jquery获取url很简单,代码如下 window.location.href; 2.javascript获取url参数 function getUrlParam(name) { var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象 var r = window.location.search.substr(1).match(reg);  /

Jquery中淡入淡出效果fadeIn()、fadeOut()、fadeToggle()、fadeTo()学习引发的思考----关于Jquery函数传参数

一.基本语法 1.fadeIn淡入.fadeOut淡出.fadeToggle淡入淡出切换(已经淡出点击淡入,或者相反): $(selector).fadeIn(duration,complete); $(selector).fadeOut(duration,complete); $(selector).fadeToggle(duration,complete); 可选的 speed 参数规定效果的时长.它可以取以下值:"slow"(200ms)."fast"(600

javascript函数参数、返回值类型检查

实现带参数.返回值类型声明的js函数: 类型定义:window.Str = Type.Str = Type.define('STRING', Type.isStr);var Per = Type.define('PERSON', function(p){    return p && p.type === 'person' && p.name;}); 定义函数:var addStr = Str(function(a, b){  return a + b;}, Str, St

javascript函数参数

js函数参数有显式参数(Parameters)即形参和隐式参数(Arguments)实参 1.显式参数(Parameters)即形参在函数定义时列出. function functionName(parameter1, parameter2, parameter3){ //要执行的代码 } 2.隐式参数(Arguments)即实参在函数调用时传递给函数的真正的值 function add(){ console.log(arguments[0], arguments[1], arguments[2

Javascript进阶(7)---函数参数

arguments对象 在JavaScript中,谈到函数参数,就不得不说一说那个熟悉又陌生的argunemts arguments对象用于承载调用函数时候传入的参数 arguments不是一个数组,但是十分类似一个Array,有length属性,也可以用下标去访问 arguments对象的长度是由实参个数而不是形参个数决定的.形参是函数内部重新开辟内存空间存储的变量,但是其与arguments对象内存空间并不重叠.对于arguments和值都存在的情况下,两者值是同步的,但是针对其中一个无值的