美文网首页前端开发
toString方法中遇到的问题

toString方法中遇到的问题

作者: 翊溪 | 来源:发表于2017-08-16 15:26 被阅读0次

    问题描述

    在开发的过程中,遇到toString这个方法,就记录一下使用的过程中遇到的问题。

    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方法(打印会带上ƒ 标识),交互式命令行不会;调用简单操作比如+、-等运算,都会自动调用toString方法(并且浏览器下也会取消ƒ 标识)。

    相关文章

      网友评论

        本文标题:toString方法中遇到的问题

        本文链接:https://www.haomeiwen.com/subject/cguirxtx.html