欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

JavaScript(函数,实参,形参,)

程序员文章站 2022-03-04 10:12:02
javascript(函数,实参,形参,) 函数/实参/形参 函数的分类 匿名函数: 没有名字的函数 匿名函数不能独立存在 有名/具名函数: 有名字的函数 匿名函数的使用例子,通过事件触发...

javascript(函数,实参,形参,)

函数/实参/形参

函数的分类

匿名函数: 没有名字的函数 匿名函数不能独立存在 有名/具名函数: 有名字的函数

匿名函数的使用例子,通过事件触发




<script>
document.onclick = function(){
console.log("这是一个依赖于document点击事件的函数");
}
</script>

有名函数的例子,下面的代码就把上面的一些代码省略,直接写js代码啦

function fn(){
    console.log("fn函数调用成功");
}
fn();	//打印出fn函数调用成功

有名函数和将函数赋值给一个变量的区别

//直接使用function声明变量 
function fn(){
    console.log("fn有名函数");
}
fn(); //函数执行
//fn是一个变量,代表函数本身
let fn2 = function(){
    console.log("fn2函数调用成功");
}

把函数放到数组里面的例子:

let arr = [function(){
	console.log("arr里的fn");
}]
arr[0](); //打印arr里的fn

把函数放到对象里面的例子:

let obj = {
    a : function(){
    console.log("obj里的a函数");
	}
}
obj.a(); //打印obj里的a函数

###函数声明

//函数声明,直接使用function来声明的,不可以加括号自执行 必须通过函数名()执行
function fn(){
    console.log(1);
}

函数表达式

//函数表达式 可以加括号执行性
 let fn2 = function(){
	console.log("fn2函数");
 }

函数形参/实参

可以根据调用环境的不同 做出不同的反馈

函数的参数的目的就是为了和外部通信

形参个数多于实参的个数,也就是形参没有找到对应的实参接受,那么它就是undfined

形参个数少于实参的个数,也就是做人知足,不要贪心,没有形参接收的话,多出来的就不要啦

function fn(a,b){//形式参数
    console.log("fn执行");
    console.log(a+b);
}
fn(1,2);	//括号里面的参数是实际参数,简称实参
fn(3,5);   	//可以通过传入不同的实参,达到实现不同的效果
fn(6,8);   

b有默认值,当有实参对应的时候,就不会生效

b的默认值什么时候生效

底层检测默认值生效的机制,是如果b接收到一个undfined的参数,默认值就会生效

没有默认值的,放在前面,有默认值放到后面

function fn(a =1,b){//形式参数
    console.log(a);
}
fn(undfined,2);	//设置默认值
fn(,2);	//会报错

属性要依附在对象下面

function fn(){}
fn.index = 123;
console.log(fn.index);
//访问一个对象不存在的属性,默认是undfined

.操作符 ===> []

let obj = {
    a: 1,
    b: 2
}
//let a = "b";
console.log(obj[a]);
let arr = ["a","b"]
console.log(arr.0);	//报错,因为数字跟小数点结合,会被认为是小数
console.log(arr[0]);
//直接带.,相当于属性,没带.视为变量

每一个对象,自带的属性:合法的对象属性
####自定义属性和自定义标签属性

自定义属性 ,人为制定的,寄存在js对象下面叫自定义属性 自定义标签属性,放在标签里面的,不能直接通过点去获取

自定义标签属性的获取

console.log(box.fy);
//自定义标签属性不能直接通过点去访问
//获取自定义标签属性
console.log(box.getattribute("fy"));
console.log(box.getattribute("fy","这是一个新的值"));
console.log(box.removeattribute("fy"));

return

在函数执行结束,默认返回 undfined

函数里只能有一个return 遇到return就停止运行,并且把return后面的值返回出来

function fn(a,b){
    let result = a + b;
    return result;
}
let num = fn(1,2);//函数执行的结果
console.log(num);

可以通过下面的方法,简化书写的代码

function getid(str){
    return document.getelementbyid(str);
}
let p = getid("box");

小tips:

不能带括号,因为js里面,一个变量后面有括号,都是函数,函数一旦加() 就是调用(执行函数) 自执行 不能这样写document.onclick = fn(),直接的话,就是函数自执行,不是时间触发的