JavaScript进阶学习day3

函数

1、函数的使用:先声明后使用

  function sayHi(){
      alert('Hi')
  }
  sayHi()//函数的调用

2、函数的传参

  function geySum(num1,num2){//num1,num2是形参
      alert(num1+num2)
  }
  getSum(1,2)//1,2是实参

3、数组的返回值return

经常用一个变量接收函数的返回值用来调用(注意的是return是直接结束程序)如果想要返回多个数值的话,将返回值放进一个数组,然后返回数组即可

  function getSum(arr) {
      let sum = 0
      for (let i = 0; i < arr.length; i++) {
          sum += arr[i]
      }
      return sum
  }
  let result = getSum([1, 2, 3, 4, 5])
  alert(result)

4、作用域

全局作用域:整个script里面、外部script都能用,在任何区域都可以访问和修改

局部作用域:只能当前函数内部访问和修改

注意的是:在函数里面的变量没有声明的话,这个变量就当成一个全局变量

(但是一般不建议这样写)

5、匿名函数

function(){

}

①函数表达式(在API中经常使用)

let fn=function(){

}

注意的是:具名函数的调用可以写到任何的位置,但是函数表达式必须要先声明后调用

②立即执行函数(不用调用就能够执行)(两种写法)

(function(){})()

记忆方法:小括号小括号,function函数写在第一个小括号,第二个小括号实际就是函数的调用

(function(){}())

6、案例(秒数转为时分秒)

  let second = +prompt('请输入秒数')
  function getTime(second) {
      //小时
      let h = parseInt(second / 60 / 60 % 24)
      //分钟
      let m = parseInt(second / 60 % 60)
      //秒钟
      let s = parseInt(second % 60)
      return [h, m, s]
  }
  let arr = []
  arr = getTime(second)
  let h = arr[0] > 10 ? arr[0] : '0' + arr[0]
  let m = arr[1] > 10 ? arr[1] : '0' + arr[1]
  let s = arr[2] > 10 ? arr[2] : '0' + arr[2]
  alert(`你当前输入的时间为:${h}时${m}分${s}秒`)

7、逻辑中断

&&只要左边为假就短路

||只要右边为真就短路

  console.log(11&&22)//两个都为真,那么就返回最后一个真值
  console.log(11 || 22)//两个都为真,则返回第一个真值

对象

1、声明:对象由属性和方法组成

let 对象名={

​ 属性名:属性值,

​ 方法名:函数

}

    let obj = {
      uname: '小明',
      sex: '男',
      age: 18,
    }
    alert(obj.uname)

2、对象操作

①查:(两种方法)

alert(obj.uname)

对象名['属性值']: obj['name']

②改:

obj.age = 20

alert(obj.age)

③增

obj.hobby = '睡觉'

console.log(obj);

④删

delete obj.age

3、对象的方法

  let obj = {
      uname: '小明',
      sex: '男',
      age: 18,
      sing: function (x, y) {
          return x + y
      }
  }
  alert(obj.sing(1, 2))

4、遍历对象(注意的是k就是属性名,obj[k]就是属性值)

  for (let k in obj) {
      console.log(k);//属性名
      console.log(obj[k]);//属性值
  }

5、内置对象

Math对象

①Math.ceil()向上取整

②Math.floor()向下取整

③Math.round()四舍五入

④Math.max()求最大值

⑤Math.min()求最小值

⑥Math.abs()求绝对值

⑦Math.random()生成[0,1)范围的随机数(生成能取到0,但是取不到1的数)

1)如果我想要取0-10的数

Math.floor(Math.random()*11)

  //随机抽查数组
  let arr = ['1', '2', '3']
  let random = Math.floor(Math.random() * arr.length)
  alert(arr[random])

2)我想要生成n-m之间的随机数

Math.floor(Math.random()*(M-N+1))+N

3)案例

  //数字游戏1-10
  let random = Math.floor(Math.random() * (10 - 1 + 1)) + 1
  let num = 1
  while (num) {
      let guess = +prompt('请输入数字')
      if (random < guess) {
          alert('大了')
          num++
      }
      else if (random > guess) {
          alert('小了')
          num++
      }
      else {
          alert('猜对了')
          break
      }
      if (num == 4) {
          alert('三次机会已经没有了哦')
          break
      }
  }












  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值