博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
this 和上下文的区别
阅读量:5031 次
发布时间:2019-06-12

本文共 797 字,大约阅读时间需要 2 分钟。

toString.call({}) === '[object Object]' 这里toSring()上下文就是{},Object.prototype.toString.call({})

但是{}.toString()就报错。这里toSring内部this就{},但是{}里面明明有toString()方法。

 

 

 但是{}的包装对象是可以调用toString()方法的。

 

var abc = {

fn: function(){
console.log(this, this===abc)
}
}
console.log(abc.fn())

// {fn: ƒ} true

 

至于

Object.prototype.hasOwnProperty.call({}, key)   和   {}.hasOwnProperty(key)

{} 和 Object.prototype 打印出的结果又似乎相同,有待

 

例子推测:

Function.prototype.call2 = function(context) {

// 首先要获取调用call的函数,用this可以获取
context.fn = this; // foo.fn = bar
context.fn(); // foo.fn()
delete context.fn; // delete foo.fn
}

// 测试一下

var foo = {
value: 1
};

function bar() {

console.log(this.value);
}

bar.call2(foo); // 1

根据推测,上下文应该是函数执行传递进去的,本身没有。this应该是本身就有的。那箭头函数不也没this?它的this是上传代码块的this。

 

转载于:https://www.cnblogs.com/zhangzs000/p/10317659.html

你可能感兴趣的文章
OpenCV2计算机编程手册(一)操作像素
查看>>
Linux常用命令
查看>>
2.2 搬移字段
查看>>
Zsh 5.0 已提供下载
查看>>
Apache POI 3.9 发布,性能显著提升
查看>>
reposurgeon 2.18 发布,版本控制历史记录编辑
查看>>
firefox插件介绍
查看>>
2014岁末分享:10本最新前端开发电子书【前端开发者的福音】
查看>>
<fzu1922>非主流
查看>>
10月9日至10月22日备忘录
查看>>
TJUSCSST第一次作业
查看>>
解决Only a type can be imported. * resolves to a package
查看>>
eclipse部分文件无法编译的一种解决办法
查看>>
I2C 方式
查看>>
angular.js 入门
查看>>
【学习笔记】 唐大仕—Java程序设计 第5讲 深入理解Java语言之5.4 对象清除与垃圾回收...
查看>>
内核源码分析之进程调度机制(基于3.16-rc4)
查看>>
InnoDB与Myisam的六大区别
查看>>
java&nbsp;汇率计算源代码ZZ 分类: Android开发 ...
查看>>
第6章例6-5
查看>>