JavaScriptDAY2

函数

通过函数的声明实现逻辑的封装,可以让代码实现复用。

函数的基本使用

函数的命名规范:

 

 function getSum() {
      let num1 = +prompt('输出第一个数')
      let num2 = +prompt('输出第二个数')
      document.write(`两个数的和是${num1 + num2}`)
    }
    getSum()

 

函数的参数 

使得函数变得灵活。

    // 计算两个数的和
    // num1 = 0, num2 = 0为默认参数,只要在缺少实参参数时才会被执行,使得程序更加严谨
    function getSum(num1 = 0, num2 = 0) {
      document.write(`两个数的和是${num1 + num2}`)
    }
    getSum(1, 2)//输出3
    getSum()//输出0

 

函数的返回值

使用关键字return将函数内部执行结果返回到函数外部。

    // 完整意义上的求和(包含参数+返回值)
    function getSum(num1, num2) {
      let sum = num1 + num2
      // 返回
      return sum
    }
    let num1 = +prompt('请输入第一个数')
    let num2 = +prompt('请输入第二个数')
    // 参数传递
    let re = getSum(num1, num2)
    document.write(re)

注:return只能返回一个值,若要返回几个值,则把他们包起来当作数组形式来返回。

函数补充细节

1.两个相同命名的函数,后面的会覆盖前面的。

2.JS中,实参的个数和形参的个数可以不一样。

        如果形参过多,会自动补上undefined

        如果实参过多,多余的实参会被忽略

3.函数一旦执行到return后就不再执行,结束函数用return

作用域

一段程序代码中所用的名字的可用范围就称这个名字的作用域。

 

变量的访问原则:在能够访问的情况下先局部,局部没有再全局。 

匿名函数

使用匿名函数的方法

函数表达式

将匿名函数赋值给一个变量,并且通过变量去调用,称之为函数表达式。

经常用于后面的API学习。

    let fn = function () {
      console.log('我是函数表达式方式')
    }
    fn()

匿名函数和之前写的具名函数的区别:

1.具名函数的调用可以到任何位置 

2.函数表达式必须先声明函数表达式再调用

立即执行函数

避免全局变量之间的污染。

    (function () {
      let num = 10
    })();
    (function () {
      let num = 20
    })();

对象 

是一种数据类型,可以理解为无序的数据集合(ps:数组是有序的数据集合)。

对象属性

    let obj = {
      // 对象的属性,是数据描述性的信息
      goods: '小米',
      name: '小米10青春版',
      num: 100002816024,
      weight: '0.55kg',
      address: '中国大陆'
      // 对象的方法,是对象的一些功能
    }

 

对象的操作(增、删、改、查) 

    // 查属性: 对象名.属性名(方法一)
    console.log(obj.goods)
    // 查属性: 对象名['属性名'](方法二)
    console.log(obj['name'])

    // 改属性:对象名.属性名=新值
    obj.goods = '华为'
    console.log(obj.goods)

    // 增属性:对象名.属性名=新值
    obj.color = 'black'
    console.log(obj)

    // 改和增的语法一样,判断标准就是这个对象有没有这个属性,没有就是新增,有就是改

    // 删属性:delete 对象名.属性名
    delete obj.color
    console.log(obj)

 

对象方法 

    // 对象方法的声明
    let obj = {
      sing: function () {
        console.log('唱歌')
      },
      dance: function () {
        console.log('跳舞')
      }
    }
    // 对象方法的使用 对象名.方法[注:方法类似于函数 也可以进行传参操作]
    obj.dance()

 

对象的遍历 

    // 遍历对象 使用for in
    let obj = {
      name: '张三',
      age: '18',
      gender: '男'
    }
    for (let k in obj) {
      console.log(obj[k])
    }

注意:使用for in方法遍历出来的值是字符串类型的,由上面对象的查操作可以知道,可以使用对象名[属性名]去获取属性名是字符串类型的属性值。

遍历数组对象

    //遍历数组对象
    let student = [
      { name: '小明', age: '18', gender: '男' },
      { name: '小李', age: '48', gender: '男' },
      { name: '小芳', age: '38', gender: '女' },
      { name: '小陈', age: '19', gender: '男' },
      { name: '小爱', age: '21', gender: '女' }
    ]

    for (let i = 0; i < student.length; i++) {
      // console.log(i) 下标索引号
      // console.log(student[i]) 每个对象
      console.log(student[i].name) //每个对象的name属性
    }

内置对象 

js内部提供的对象,包含各种属性和方法给开发者调用。

这里学习Math.random()函数。(因为应用场景比较广泛)

Math.random()随机数函数,返回一个[0,1)范围间的数(包含0不包含1)

    // 生成0-10的随机整数
    // Math.floor是向下取整的意思,在此处是为了使随机数都为整数
    Math.floor(Math.random() * (11))

    //生成N-M之间的随机整数
    function getRandom(N, M) {
      return Math.floor(Math.random() * (M - N + 1)) + N
    }
    let num = getRandom(2, 3)
    console.log(num)

    // 数组中随机取值
    let arrs = ['green', 'blue', 'red']
    // 随机获取数组下标
    let random = Math.floor(Math.random() * arrs.length)
    console.log(arrs[random])

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值