web前端全系列 教程
1839个小节阅读:2243.2k
目录
鸿蒙应用开发
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
函数运行的时候,有时需要提供外部数据,不同的外部数据会得到不同的结果,这种外部数据就叫参数
xxxxxxxxxx
function square(x) {
console.log(x * x);
}
square(2) // 4
square(3) // 9
函数参数不是必需的,Javascript 允许省略参数
xxxxxxxxxx
function add(a, b) {
console.log(a);
}
add(1, 2, 3) // 1
add(1) // 1
add() // undefined
add.length // 2
函数参数如果是原始类型的值(数值、字符串、布尔值),传递方式是传值传递(passes by value)。这意味着,在函数体内修改参数值,不会影响到函数外部
xxxxxxxxxx
var p = 2;
function fn(p) {
p = 3;
}
fn(p);
p // 2
如果有同名的参数,则取最后出现的那个值
xxxxxxxxxx
function add(a, a) {
console.log(a);
}
add(1, 2) // 2
由于 JavaScript 允许函数有不定数目的参数,所以需要一种机制,可以在函数体内部读取所有参数。这就是arguments对象的由来
xxxxxxxxxx
var list = function (one) {
console.log(arguments[0]);
console.log(arguments[1]);
console.log(arguments[2]);
}
list(1, 2, 3)
需要注意的是,虽然arguments很像数组,但它是一个对象。数组专有的方法(比如slice和forEach),不能在arguments对象上直接使用。
如果要让arguments对象使用数组方法,真正的解决方法是将arguments转为真正的数组
xxxxxxxxxx
var args = [];
for (var i = 0; i < arguments.length; i++) {
args.push(arguments[i]);
}
实时效果反馈
1. 下列代码执行结果是:
xxxxxxxxxx
function add(a, a, b) {
console.log(a + b);
}
add(10,20,30)
A 30
B 40
C 50
D 60
答案
1=>C