一、this是什么?
this是指JavaScript语言的一个关键字。在函数运行时,自动生成一个内部对象,只能在函数内部中使用。随着函数使用场合的不同,this的值也会发生变化,指向是不确定的。指向是可以改变的。不过有一个总的规则,this指的是调用函数的那个对象(谁调用的,this就是指向的谁)。
一:普通的函数。在普通的函数中使用的this是指window,可以理解为没有调用者
二:内置的函数(比如说计时器,setimeout和setinterval)
三、回调函数(一个函数作为参数被传递给另外一个函数,就可以理解为回调函数)
四:this存在数组里面
五:this在对象object上
六:在构造函数中,所指的this不是构造函数本身
Math对象
常见属性:
Math.E
欧拉常数,也是自然对数的底数,约等于
2.718
。
Math.LN2
2
的自然对数,约等于0.693
。
Math.LN10
10
的自然对数,约等于2.303
Math.LOG2E
以
2
为底的E
的对数,约等于1.443
。
Math.pow(x,y)
返回x的y次幂。
Math.random()
返回[0,1)之间的一个随机数。
console.log(Math.random()); // 输出一个[0,1)之间的随机数
闭包 :
一:为什么需要闭包
- 使外部得以访问函数内部的变量;
- 避免全局变量的使用,防止全局变量污染(匿名函数);
- 让某些关键变量得以常驻内存,免于被回收销毁(闭包函数);
二:闭包有哪些作用
- 解决变量污染问题,让变量被函数保护起来
- 可以延长变量的生命周期