js基础(四)

函数

  函数:function,是被设计为执行特定任务的代码块

1、语法:

// 函数声明
function sayHi(){
//函数体
      document.write('hi~')
    }
// 函数调用 记得加上小括号
    sayHi()

2、命名

和变量命名基本一致

尽量小驼峰式命名法

前缀应该为动词

命名建议:常用动词约定

3、函数的调用语法

声明(定义)的函数必须调用才会真正被执行,使用 () 调用函数

函数名 () ,可以多次调用

4、函数体

函数体是函数的构成部分,它负责将相同或相似代码“包裹”起来,直到函数调用时函数体内的代码才会被执行,函数的功能代码都要写在函数体当中

5、函数传参

function 函数名 (形参){
    函数体
  }
  函数名(实参)

形参:声明函数时写在函数名右边小括号里的叫形参(形式上的参数)

  实参:调用函数时写在函数名右边小括号里的叫实参(实际上的参数)

  形参可以理解为是在这个函数内声明的变量(比如 num1 = 10)实参可以理解为是给这个变量赋值

 变量的坑::

1、如果函数内部变量没有声明 直接赋值,当做全局变量来看

     全局变量来看 强烈不允许 后面会把前面的覆盖

2、函数内部的形参也可以当做局部变量

3、变量的访问原则:在能够访问的情况下先局部,局部没有一直往上寻找,直到找到全局为止

调用语法,通过下面的 实参 将数据 传递到 上面的形参里面,传入数据时,有几个数据就写几个,数据之间用逗号隔开

开发中尽量保持形参和实参个数一致

实参多余形参   剩余的实参不参与运算

实参少于形参    会得到结果 NaN

6、函数返回值

通过在函数体里面添加 return 关键字,这样当我们调用某个函数时,函数会返回一个结果出来

注意:

    1、 return 关键字后面的代码不会执行

    2、 return 关键字后面的数据不要换行,否则会  undefined

    3、 return 函数可以没有 return  但是会默认返回  undefined

//比如求任意两个数的最大值,并返回
    function setMax(x,y){
      // 三元运算符
      return x>y ? x : y  //通过return 将值返回到 函数的调用者
    }
    // 调用函数
    let max = setMax(50,70)
    document.write(max)

7、作用域

  1、 全局作用域 : 整个script 标签或者单独的js文件,页面的任何地方都可以使用(全局变量)

  2、 局部作用域 : 在函数内部声明,只能在当前函数的内部使用(局部变量)

  3、 块级作用域 : 在大括号里面声明的变量(分支 循环),只能在大括号内部使用,必须是let const声明的变量

  var 声明的变量 没有块级作用域

函数内部的变量没有用 let 直接赋值,属于是全局变量,而且会将前面的覆盖掉

函数内部的形参 可以当做局部作用域

8、匿名函数

没有名字的函数, 无法直接使用

使用方式: 函数表达式     立即执行函数

函数表达式 : 将匿名函数赋值给一个变量,并且通过变量名称进行调用 我们将这个称为函数表达式

立即执行函数:避免全局变量之间的污染    多个执行函数之间用 ; 隔开

//立即执行函数   避免全局变量之间的污染    多个执行函数之间用 ; 隔开
    方法一
    (function(){})()

    方法二
    (function(){}())

9、逻辑中断

逻辑与 短路 运算

如果 表达式 1 结果为真,则返回表达式2  如果表达式 1 为假,则返回表达式1

document.write(表达式1 && 表达式2)
document.write(55 && 66) //66
document.write('<br>')
document.write(0 && 66)  //0

逻辑或 短路 运算

如果表达式 1 为真,则返回表达式 1 ,如果表达式 1 为假,则返回表达式2

document.write(表达式1 || 表达式2)
document.write(11 || 22)
document.write('<br>')
document.write(0 || 22)

10、转换为Boolean型

Boolean(内容)

记忆: ‘’、0、undefined、null、false、NaN 转换为布尔值后都是false, 其余则为 true

隐式转换:

1. 有字符串的加法 “” + 1 ,结果是 “1”

2. 减法 - (像大多数数学运算一样)只能用于数字,它会使空字符串 "" 转换为 0 

3. null 经过数字转换之后会变为 0 

4. undefined 经过数字转换之后会变为 NaN

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值