JavaScriptday5:数组,变量

目录:

  • 变量作用域
  • 递归函数
  • 对象
  • 数组

变量作用域:

  • 概念:作用域是变量在js中可以生效的范围
  • 分类:全局作用域、局部作用域
  • 全局作用域:
  • 1、是最大作用域
  • 2、作用范围为整个js代码区域
  • 局部作用域:
  • 1、是在函数区域内生成的一个局部作用域,声明的变量只能在这个区域使用
  • 变量的使用规则:访问规则、赋规则
  • 访问规则:获取变量值的规则
  • 1、现在自己所在的局部作用域中寻找指定的变量
  • 2、没有则想上寻找,访问上级作用域直至全局作用域
  • 3、如果全局作用域中也无法找到指定的变量则报错
  • 赋值规则:
  • 1、现在自己所在的局部作用域中寻找指定的变量有就直接赋值
  • 2、没有想上查找,直到找到或者到全局作用域为止
  • 3、全局也无的话,就直接在全局声明变量,然后在局部区域赋值
  • 作用域链:
  • 1.概念:
  • 变量访问或赋值时,
    先在自己的作用域查找,
    如果没找到,再一层一层向上查找,至到最外层全局作用域。
    这种层层查找关系,叫作用域链

 递归函数:

  • 实质在声明的函数中嵌套调用自己,当后面的结果由前面推导出来时可用递归简化代码。
  • 三要素:
  • 1、要有递归结束条件
  • 2、要能改变递归的条件
  • 3、前后值的关系推导
  • 实现递归步骤:
     1. 函数自身调用自身
            function fn(){
                  fn()
              }
     2. 结束递归条件
            function fn(n){
                if(n == 1){
                    return 1
                }
            }
     3. 前后关系,后面结果与前面值关系
            例如:
              1 + 2 + 3 + 4 + 5 = ?
                   
               f(5) = f(4)+5↑
                     => f(3)+4↑
                        => f(2)+3 ↑
                           => f(1)+2 ↑
                                  1 ↑
               f(n) = f(n-1) + n

对象:

  • 实质一组相关事物的集合
  • 语法:
  • 1.字面量方式:var 对象名={属性:属性值,属性2:属性值2}
  • 2、构造函数方式:var 对象名=new object()|赋值:对象名.属性名=属性值
  • 访问属性值:对象名.属性
  • 修改属性值:对象名.属性=新的属性值
  • 删除属性:delete 对象名.属性
  • 添加属性:对象名.新的属性=属性值
  • 遍历对象:for in
  • 步骤:
  • for(var key(变量名) in 对象名){
  • console.log("对象遍历的属性名:"+key,“所有的值”+对象名[key])
  • }
  • 注意:当访问属性值时,属性名是变量的情况:对象名[变量名]

数组:

  • 存储一系列有序数据的集合
  • 定义:字面量定义、构造函数定义
  • 字面量定义:var 数组名=[值1,值2]
  • 构造函数定义;var 数组名=new Aarry(值1,值2)
  • 访问数组元素:arr[index]下标
  • 数组长度:数组名.length
  • 遍历数组:for(var i=0;i<数组名.length;i++){
  • 代码
  • }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值