扫码关注官方订阅号
Object.prototype.toString检测对象类型的时候为什么要加上call()?
Object.prototype.toString
call()
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
防止此对象toString已经被重写了
toString
function Dog(){} Dog.prototype.toString = function dogToString() { return '[object Date]'; } new Dog().toString() Object.prototype.toString.call(new Dog())
直接用 new Dog().toString()和后面那个的区别应该是很清楚了
new Dog().toString()
call是函数的方法。用来改变函数执行的上下文。相同功能的还有apply. 楼主是想通过这种方式(Object.prototype.toString)进行类型的判断吗?
因为你要把toString方法中的this指向你需要指向函数的对象
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
防止此对象
toString已经被重写了直接用
new Dog().toString()和后面那个的区别应该是很清楚了call是函数的方法。用来改变函数执行的上下文。相同功能的还有apply. 楼主是想通过这种方式(Object.prototype.toString)进行类型的判断吗?
因为你要把toString方法中的this指向你需要指向函数的对象