function fn(){
return 20;
}
fn.toString = function(){
return 10;
}
console.log(fn+10)
20
我们看一些输出:
function fn() {
return 10;
}
console.log(fn); // 浏览器环境下,ƒ fn() { return 10;}
console.log(fn); // 交互式命令行中,[Function: fn]
console.log(fn + 10); // 浏览器环境下, function fn() {return 10;}10
console.log(fn + 10); // 交互式命令行中,function fn() {return 10;}10
//稍微修改一下
function fn() {
return 10;
}
fn.toString = function() {
return 10;
}
console.log(fn); // 浏览器环境下,ƒ 10
console.log(fn); // 交互式命令行中,{ [Function: fn] toString: [Function] }
console.log(fn.toString()); // 浏览器环境下,10
console.log(fn.toString()); // 交互式命令行中,10
console.log(fn + 10); // 浏览器环境下, 20
console.log(fn + 10); // 交互式命令行中,20
由此可以看出,对于一个方法,浏览器单纯打印地话,会自动调用toString方法(打印会带上ƒ 标