实参可以是任何数据类型。
1、可以是基本数据类型。
2、可以是一个函数(进行嵌套调用)。
3、可以是一个对象(当我们参数过多时,可以将参赛封装到一个对象,然后通过对象传递)。
同理:return的返回值也可以是任何数据类型。
立即执行函数(匿名函数立即执行)
声明后不需要调用就直接执行,立即执行函数往往只会执行一次。
(function () {
console.log("匿名函数立即执行");
})();
示例:
<script>
var identity = {
name: "张三",
age: 18,
grade: 8,
address: "北京",
school: "北京一中"
}
function intro(id) {
console.log("我是" + id.name, "我" + id.age + "岁", "我来自" + id.address, "我在" + id.school + "读" + id.grade + "年级")
return 123;
}
// 实参可以是一个对象
intro(identity);
// 立即执行函数:声明后不需要调用就直接执行
(function () {
intro(identity);
})();
function fun1(a) {
console.log("输出该函数对象内容为:" + a);
console.log("函数调用identity对象后,内容为:");
a(identity);
}
// 实参也可以是一个函数
fun1(intro);
function fun2(a) {
console.log("输出该函数对象内容为:" + a);
}
// 实参中的函数可以调用,并输出返回值内容
fun2(intro(identity));
// 立即执行函数传入参数
(function (a, b) {
console.log("a = " + a);
console.log("b = " + b);
})(123, 456);
</script>