导图社区 JS基础Day4
这是一篇关于JS基础Day4的思维导图,包含函数、类型转换等,干货满满,有需要的朋友赶紧收藏吧!
编辑于2024-01-18 10:22:41JS基础Day4
函数
为什么需要函数
函数:function,是被设计为执行特定程序的代码块
说明
函数可以把具有相同或相似逻辑的代码‘包裹’起来,通过函数调用执行这些被包裹的代码逻辑,这样做的优势在于精简代码方便复用
我们之前使用的alert()、prompt()都是一些JS函数,只不过已经封装好,我们可以直接使用
函数的使用
函数的声明语法:functio 函数名(){函数体}
函数名命名规则
和变量命名基本一致
尽量小驼峰式命名法
前缀应该为动词
命名建议:常用动词约定
can:判断是否可执行某个程序
has:判断是否含有某个值
is:判断是否为某个值
get:获取某个值
set:设置某个值
load:加载某些数据
函数的调用语法
函数名()
注意:声明(定义)的函数必须调用才会被真正执行,使用()调用函数
函数体
函数体是函数的构成部分,他负责将相应或相似的代码‘包裹’起来,直到函数调用时函数体内部的代码才会被执行。函数的功能代码都要写在函数体当中
函数传参
声明语法:function 函数名(参数列表){函数体}
调用语法:函数名(传递的参数列表)
function 函数名(形参){函数体} 函数名(实参)
注:
形参:声明函数名时写在函数名右边的小括号里的叫形参(形式上的参数)
实参:调用函数时写在函数名右边小括号里的叫实参(实际上的参数)
形参可以理解为是在这个函数内声明的变量(比如num1 = 10)实参可以理解为是给这个变量赋值
开发汇总尽量保持形参和实参数量一致
使用的alert(“打印”),parselnt(“11”)本质上都是函数调用的传参
参数默认值
形参:可以看作变量,一个变量不给值,默认为:undefined
如果用户不输入实参,则会出现NaN
可以加以改进,用户不输入实参,可以给形参默认值,可默认为0,这样程序更加严谨
默认值只会在缺少实参参数传递时才会被执行,所以有参数会优先执行传递过来的实参
函数返回值
当函数需要返回数据出去时,用return关键字
语法 return 数据
有返回值的函数
在函数体中使用return关键字能将内部执行结果交给函数外部使用
return后面代码不会在被执行,会立即结束当前函数,所以return后面的数据不能换行协写
return函数可以没有return,这种情况函数默认返回值undefined
优点 :
函数执行后得到结果,结果是调用者想要拿到的(函数内部不需要输出结果,而是返回结果)
对执行结果的扩展性更高,可以让其他程序使用这个结果
细节补充
两个相同的函数后面的会覆盖前面的
再JS中实参与形参数量可以不一样
如果形参过多,会自动填上undefined
如果实参过多,那么多与得实参会被忽略
函数一旦碰到return就不会往下执行了,函数的结束用return
作用域
通常来说一段代码中所用到的名字并不总是有效可用的,而限定这个名字的可用性的代码范围就是这个民资的作用域
作用域提高了程序逻辑的局部性增加了程序的可靠性,减少了名字冲突
在JS中,有不同的作用域
全局作用域:作用于所有代码执行的环境(整个script标签内部)或者一个独立的js文件
局部作用域:作用于函数内的代码环境,就是局部作用域。因为跟函数有关系,因此也称函数作用域
在JS中,根据作用域的不同,变量可分为
全局变量:全局变量在任何区域都可以访问和修改
局部变量:局部变量只能在当前函数内部访问和修改
变量有一个坑,特殊情况:如果函数内部,变量没有声明,直接赋值,也当全局变量看,但强烈不推荐
变量的访问原则
只要是代码,就至少有一个作用域
写在函数内部的局部作用域
如果函数中还有函数,那么在这个作用域中就又可以诞生一个作用域
访问原则:再能够访问到的情况下先局部,局部没有再找全局
匿名函数
没有名字的函数 ,无法直接使用
使用方式
函数表达式
将匿名函数值赋值给一个变量,并且通过变量名称进行调用,称为函数表达式
语法:let fn = function(){函数体}
立即执行函数
避免全局变量之前的污染
语法1:(function(){console.log(11)})()
语法2:(function(){console.log(11)}())
注:
无需调用,立即执行,其实本质已经调用
多个立即执行函数之间用分号隔开
逻辑中断
逻辑运算符里的短路
短路:只存在于&&和||中,当满足一定条件会让右边代码不执行
&&:左边为false就短路
||:左边为true就短路
原因:通过左边能得到整个式子的结果,因此没必要判断右边
运算结果:无论&&还是||,运算结果都是最后被执行的表达式,一般用在变量赋值
类型转换
准换为Boolean型
显示转换
语法:Boolean(内容)
记忆:‘’、0、undefined、null、false、NaN转换为布尔值后都为false,其余则为true
隐式转换
有字符串的加法‘’+1,结果是‘1’
减法-(像大多数运算一样)只能用于数学,他会使空字符串‘’转换为0
null经过数字转换后会变为0
undefined经过数字转换后会变为NaN