JS 的 instanceof 原型链判断错误!

发布于 8 年前作者 shenchao8094 次浏览最后编辑 8 年前来自 ask

奇奇怪怪的环境问题,直接看图吧。

10 回复
songna
songna1 楼6 年前

依赖的,所以你们自己也加上12楼的trick吧。

jiewang
jiewang2 楼6 年前

这个限制我们应该不会调整,估计只有改一下依赖库的代码了。

qiang26
qiang263 楼6 年前

请问你需要用这个语句做什么吗?

chao61
chao614 楼6 年前

你好,这里Function应该是个特例。

duanwei
duanwei5 楼6 年前

好的,这个问题加进开发者文档中吧

yong84
yong846 楼6 年前

或者你试下这个trick:

a = function(){ return ‘aaa’ }

Object.setPrototypeOf(a, Function.prototype)
a instanceof Function // === true

jingdeng
jingdeng7 楼6 年前

好的。之后我们会在基础库里面做这个修正。如果有问题,欢迎继续反馈。

jun77
jun778 楼6 年前

其实JS内置的Function对象是被覆盖掉了的(出于安全的考虑)。instanceof作用于别的对象应该是没问题的。

minzheng
minzheng9 楼6 年前

那这里你们可以在app.js里面加一个trick试试:

Function.prototype = Object.getPrototypeOf(function(){})

zhouqiang
zhouqiang10 楼6 年前

基础库修正之后,依赖微信客户端发版吗?还是灰度修复已有的所有版本?