JS对象的复习之this

114 阅读1分钟

今天使用了es6 写了一个简单的小游戏 但刚开始并没有搞定 出现许多小问题 就是对象和this掌握得不好 所以老师给我们复习了this

this

this 代表代码在运行时 的一个对象

this代表

var str="hello"
str.split()  基本数据  遇到当做对象使用时  引擎会先为我们隐式的执行一行代码
var 包装对象=new String(str); 包装对象.split()

**this是哪个对象? **

 this就是funtcion这个单词 的调用者,没找到就是环境对象 

这调用它 this 就指向谁

new过程

3.1创建对象(new这个单词后面那个函数/类名的构造函数的prototype属性指向的对象)
创建一个空对象,把空对象的__proto_属性赋值为函数的prototype属性指向的对象
3.2 去执行new后面的那个类型对应的构造函数 , 构造函数内部的this 指定为创建的空对象
	     // var f1=new fn()
 //var f1={} ,f1.__proto_=fn.prototype
//fn.call(f1)
**4.class**
class 内部一定有个方法 constructor 如果我们自己写了 就会覆盖系统的
es5的构造函数的区别:
es5的函数即是构造函数 也是类型 function  fn(){}
es6的类,class是类型 内部的constructor方法才是构造函数
     使用?
 类型是为了创建预知对象提前设计的代码,只声明不运行,创建对象时才运行
 对象的成员也一样,只保存数据(属性和方法) 不会使用数据
主动使用对象的成员 , 对象保存的数据才会被使用
p1.name
// p1.say()
//属性往往是保存数据的==>体现出一些功能
//方法往往是操作属性数据