JavaScript函数2

1. 作用域

1) 作用域 : 变量或者函数能够被访问到的范围

(1) 全局作用域
1.1 最外层函数或者最外层函数外用var声明的变量
1.2 在没有同名的局部变量存在的情况下,函数内部不通过var声明的变量
1.3 window对象的属性及方法

例如 :

window.alert("我是window对象");
(2) 局部作用域
2.1 函数内部的函数及用var声明的变量
2.2 函数的形参

都只作用于该函数

2. 递归函数

1) 递归函数 : 在一个函数内部调用自身 注意 : 回归 , return

例如 : 用递归求阶乘

function fn(n){
    if(n===1){
        return 1;
    }
    return n * fn(n-1);
}
console.log(fn(这里填参数))

3. 对象类型

1) 概念

对象类型 : 复杂类型、复合类型、引用类型
对象类型标准值 由花括号和键值对组成
对象 : 一组无序的值的集合

2) 创建 并对其进行增、删、改、查 :

 var hero = {
        name: "亚索",
        gender: "男",
        hasai: function () {
          console.log("hasai");
        },
        skill0: "浪客之道",
        skill1: "斩钢闪",
        skill2: "风之屏障",
        skill3: "踏前斩",
      };
      for (var key in hero) {
        console.log(hero[key]);
      }
      //增
      hero.skill4 = "狂风绝息斩";
      hero.hasaki = function () {
        console.log("hasaki");
      };
      for (var key in hero) {
        console.log(hero[key]);
      }
      //删
      delete hero.hasai;
      delete hero.gender;
      for (var key in hero) {
        console.log(hero[key]);
      }
      //改
      hero.name = "永恩";
      for (var key in hero) {
        console.log(hero[key]);
      }
      hero.name = "亚索";
      for (var key in hero) {
        console.log(hero[key]);
      }
      //查
      console.log(hero.name);

4. 堆和栈

var a = 10;
      var b = a;
      a = 20;
      console.log(b); //10

      var obj1 = { a: 10 };
      var obj2 = obj1;
      //obj1.a = 20;
      //obj2.a = 20;
      //console.log(obj1); //{a:20}

      //内存:栈区(存的是变量名,函数名,基本类型值)  堆区(复杂类型值)
      obj1 = { b: 20 }; //重新赋值了,就有了一个新的地址了
      console.log(obj2); //{a:10}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值