2021-12-02对象进阶

1.this

构造函数里面的this,用于给类定义成员(属性和方法)

方法里面的this,指向方法的调用者

箭头函数中没有this,如果在箭头函数中使用了this,会向外层寻找this的指向

如果所有的外层都没有this,最终会指向window对象

注意:用于var定义的成员(变量和方法)都会成为window对象的成员

解决this指向问题:

方式一:备份this

方式二:使用箭头函数

2.call apply bind

call apply bind 更改方法里面this的指向

使用call()改变方法里面,this的指向

call()方法的第一个参数必须是指定的对象,方法的原有参数,挨个放在后面

使用apply(),也可以改变方法里面this的指向,第一个参是指定的对象,方法的原有参数,统一放到第二个数组参数中。

使用bind(),也可以改变方法里面this的指向,用法给call()一样

call()是直接运行方法,bind()是返回新的方法,然后再重新调用。

3.将一个对象转为字符串

获取对象的属性值,有两种方式:

对象名.属性名

对象名["属性名"]

for in 循环,可以循环出对象里面的所有的key,(key就是属性名)

在ES6中新增了获取对象所有key的方法 -> ECMAScript2015 其实就是最新版本的javascript标准

Object.keys(指定的对象),该方法可以获取指定对象的所有key,返回值是一个数组

Object.values(指定的对象),该方法可以获取指定对象的所有的value,返回值是一个数组

4.将字符串转为对象

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 对象进阶 1.this 构造函数里面的this,用于给类定义成员(属性和方法) 方法里面的this,指向方法的调用...
    z丶w阅读 184评论 0 0
  • 1.this 构造函数里面的this,用于给类定义成员(属性和方法) 方法里面的this,指向方法的调用者 箭头函...
    wy22阅读 104评论 0 0
  • 十二.对象进阶 1.this 构造函数里面的this,用于给类定义成员(属性和方法) 方法里面的this,指向方法...
    早上好嗷阅读 181评论 0 0
  • (一)this 构造函数里面的this,用于给类定义成员(属性和方法) 方法里面的this,指向方法的调用者 箭头...
    林杨木阅读 92评论 0 0
  • 对象,即一组数据的有规律,有属性方法的集合,从构成来看有两组构成方式:字面量,和New构造, let singer...
    青木樹海阅读 252评论 0 0