回答-const-与let-以及-this

8 篇文章 0 订阅
1 篇文章 0 订阅

1.关于this

this 的指向是由他所在函数调用的上下文决定的,而不是由它所在的函数定义的上下文决定的。
(在函数内部,this的值取决于函数是如何调用的。)
先看这篇文章:
走火入魔javascript — this关键字

1.1 例子1
function  foo(){
  let name = 'su';
  this.age = 12;
    console.log(name);//su
    console.log(age);//12
    console.log(this.name);//undefined
    console.log(this.age);//12
    console.log(this);//Window,此时this 指向的是Window
}
foo();
1.2 例子2
function  foo(){
    let name = 'su';
    this.age = 12;
    console.log(name);//su
    console.log(age);//12
    console.log(this.name);//undefined
    console.log(this.age);//12
    console.log(this);//foo{age: 12}
}
new foo();

如果和new 关键字一起用, foo 作为构造函数调用。在函数的内部,this指向新创建的对象。
被调用的函数没有显式的 return 表达式,则隐式的会返回 this 对象 - 也就是新创建的对象。

1.3 例子3
 var foo = {
    age:12,
    printAge: function(){
        console.log(this.age);
    }
}
foo.printAge();//{age:12}

当以对象里的方法的方式调用函数时,它们的 this 是调用该函数的对象.

2.关于const 与 let的选择

  • const 与 let 都是用来声明变量的
  • let: 声明变量。 在可以使用var 声明的变量都可以考虑使用let 避免变量被重复定义。
  • const :声明常量。如果这个值在后面都不会改变,建议使用const 声明成常量。如: const PI = 3.1415926 这种。

(自己的一点点理解,以后慢慢补充)

参考链接: javascript秘密花园

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值