function fn() {
console.log(1);
};
fn.toString = function() {
return 30;
}
console.log(fn);
为什么中间插了 fn.toString ……这段 日志就会从函数块变成30?
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
console.log(fn)默认调用fn.toStrig()方法,你重写了fn.toStrig()
你对一个function/object这种执行console.log,输出的就是调用toString或者valueOf后的结果啦
你最后的
调用的是
已经被重写
fn会自动调用valueOf或者toString方法来实现输出