侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

看书过程的细节知识查询和思考

2023-12-15 星期五 / 0 评论 / 0 点赞 / 48 阅读 / 1524 字

1.this.method.apply(this,arguments) 这样的用法是什么意思? apply 的第二个参数是 array like object,可以用来传递不确定个数的参数。用 thi

1.this.method.apply(this,arguments) 这样的用法是什么意思?

apply 的第二个参数是 array like object,可以用来传递不确定个数的参数。用 this.method 做不到。单纯的 this.method(arguments) 原本也想是this.method(1,2,3),但对 this.method([1,2,3]) 这样的形式无能为力。所以,用上 apply 它允许所接收的参数以一组的形式。

this.method.apply( this, arguments) 是将method 的上下文从 this(还是)换成了 this,它们指向不变,所以相当于没换上下文(但这么做是最保险的,比如改成 null 那上下文被替换成了不明确的了)。

2.《JavaScript语言精粹》“作用域的好处是内部函数可以访问定义它们的外部函数的参数和变量(除了this和arguments)

每个函数在调用时,其活动对象都会自动获取两个特殊的变量:this和arguments。内部函数在搜索这两个变量时,只会搜到其活动对象为止,因此永 远不肯能访问到外部函数中的这两个变量。不过,把外部作用域中的this对象保存在一个闭包能够访问的变量里,就可以放闭包访问该对象了。

3.差异化继承:

通过定制一个新的对象,指明它与所基于的基本对象的区别。

https://developer.mozilla.org/en-US/docs/Differential_inheritance_in_JavaScript




广告 广告

评论区