js var的作用域和map,set方法

js var定义域

js 中,定义的var变量其实是有作用域的,不同函数内部的同名变量互相独立,互不影响。
例如:

+ function sum() {
       var x = 1;
       x = x+1;
}
function sum1() {
      var x=3;
}
  • 在例子中,两个方法内的x的作用域只在方法内,所以两个方法的x并不会受到影响

js 中函数是可以嵌套的。内部函数可以调用外部函数定义的变量,但是反过来不行

* function sum2() {
       var x = 1;
       function s1() {
             var y = x+1;
       }
       var z= y+1;
}
	

如果内部和外部定义了相同名字的变量

*  function sum1() {
       var x = 1;
       function s1() {
             var x = 'A';
             console.log('x =' +x);
       }

      console.log(s1());
       console.log('x = '+x);
}
console.log(sum1());

变量提升

function foo() {
      var y;
      var x = 'Hello,' + y;
      console.log(x);

      var y = 'baby';
 }

foo();

js-map

  • map - 属于一种新的数据类型
    map - 是一组键值对的结构,具有快速查找的速度

定义map集合
var m = new Map([[‘小华’,95],[‘小明’,88],[‘李狗蛋’,99]]);

  • map集合的基本应用
    • var a = new Map();
  • 添加
    a.set(‘name’,‘小芳’);
    a.set(‘sex’,‘女’);
    a.set(‘age’,18);
  • 查找 – 返回true/false
    console.log(a.has(‘age’));
  • 删除
    a.delete(‘sex’);
  • 修改
    a.set(‘birth’,1990);
    a.set(‘birth’,2000);

js-set

  • set - 和Map相似,是一组key的集合,不存储value

定义set集合

  • var a = new Set(); // 空set
    var a1 = new Set([1,2,3]); // 有值得
    特点,重复元素会被自动过滤
    var a2 = new Set([1,2,2,3,3,4,4,5,5]);
    console.log(a2);

显示结果:[1,2,3,4,5]

set集合的基本应用
var a = new Set([1,2,3]);

  • 增加
  • a.add(4);
  • 删除
  • a.delete(3);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值