苏州住房建设局网站,seo网络营销外包公司,小说网页网站建设,简单网站建设教程JavaScript 函数对参数的值(arguments)没有进行任何的检查。JavaScript 函数参数与大多数其他语言的函数参数的区别在于#xff1a;它不会关注有多少个参数被传递#xff0c;不关注传递的参数的数据类型。函数显式参数与隐藏参数(arguments)在先前的教程中#xff0c;我们已…JavaScript 函数对参数的值(arguments)没有进行任何的检查。JavaScript 函数参数与大多数其他语言的函数参数的区别在于它不会关注有多少个参数被传递不关注传递的参数的数据类型。函数显式参数与隐藏参数(arguments)在先前的教程中我们已经学习了函数的显式参数:functionName(parameter1, parameter2, parameter3) { code to be executed}函数显式参数在函数定义时列出。函数隐藏参数(arguments)在函数调用时传递给函数真正的值。参数规则JavaScript 函数定义时参数没有指定数据类型。JavaScript 函数对隐藏参数(arguments)没有进行检测。JavaScript 函数对隐藏参数(arguments)的个数没有进行检测。默认参数如果函数在调用时缺少参数参数会默认设置为 undefined有时这是可以接受的但是建议最好为参数设置一个默认值实例function myFunction(x, y) { if (y undefined) { y 0; }}尝试一下 »或者更简单的方式实例function myFunction(x, y) { y y || 0;}尝试一下 »如果y已经定义 y || 0返回 y, 因为 y 是 true, 否则返回 0, 因为 undefined 为 false。如果函数调用时设置了过多的参数参数将无法被引用因为无法找到对应的参数名。 只能使用 arguments 对象来调用。Arguments 对象JavaScript 函数有个内置的对象 arguments 对象.argument 对象包含了函数调用的参数数组。通过这种方式你可以很方便的找到最后一个参数的值实例x findMax(1, 123, 500, 115, 44, 88);function findMax() { var i, max arguments[0]; if(arguments.length 2)return max; for (i 0; i arguments.length; i) { if (arguments[i] max) { max arguments[i]; } } return max;}尝试一下 »或者创建一个函数用来统计所有数值的和实例x sumAll(1, 123, 500, 115, 44, 88);function sumAll() { var i, sum 0; for (i 0; i arguments.length; i) { sum arguments[i]; } return sum;}尝试一下 »通过值传递参数在函数中调用的参数是函数的参数。如果函数修改参数的值将不会修改参数的初始值在函数外定义。总结JavaScript函数传值只是将参数的值传入函数函数会另外配置内存保存参数值所以并不会改变原参数的值。实例var x 1;
// 通过值传递参数functionmyFunction(x) {x; //修改参数x的值将不会修改在函数外定义的变量 xconsole.log(x);
}
myFunction(x); // 2console.log(x); // 1通过对象传递参数在JavaScript中可以引用对象的值。因此我们在函数内部修改对象的属性就会修改其初始的值。修改对象属性可作用于函数外部全局变量。实例var obj {x:1};
// 通过对象传递参数functionmyFunction(obj) {obj.x; //修改参数对象obj.x的值函数外定义的obj也将会被修改console.log(obj.x);
}
myFunction(obj); // 2console.log(obj.x); // 2