JavaScript(函数,实参,形参,)
程序员文章站
2022-03-04 10:12:02
javascript(函数,实参,形参,)
函数/实参/形参
函数的分类
匿名函数: 没有名字的函数 匿名函数不能独立存在 有名/具名函数: 有名字的函数
匿名函数的使用例子,通过事件触发...
javascript(函数,实参,形参,)
函数/实参/形参
函数的分类
匿名函数: 没有名字的函数 匿名函数不能独立存在 有名/具名函数: 有名字的函数匿名函数的使用例子,通过事件触发
有名函数的例子,下面的代码就把上面的一些代码省略,直接写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]); //直接带.,相当于属性,没带.视为变量
每一个对象,自带的属性:合法的对象属性
####自定义属性和自定义标签属性
自定义标签属性的获取
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(),直接的话,就是函数自执行,不是时间触发的