js误区:方法变成字符串了??

来源:互联网 发布:网络主播自慰直播视频 编辑:程序博客网 时间:2024/06/05 00:34

一次在工作中遇到的问题,当时陷入了死胡同,许久以后才弄明白这个问题。不是方法变成字符串了,是没有正确的引用方法

一、大家可以先猜测下下面两种情况的结果。

<script>    function example () {        return 1;    }    // 情形一:    alert(example);    // 情形二:    alert(example());</script>

二、经过测试,你得到的结果应该是下面这样子的:

情形一:会将方法作为一个整体的字符串弹出

    function example () {        return 1;    }

情形二:会弹出方法的返回值,这里是 : 1

    1

三、原因分析:

        情形一中直接弹出的是 example ,可以简单的把它看成是一个变量,这个变量指向方法的本身,而不是方法执行后的结果。

        情形二中直接弹出的是 example() ,这是调用方法,结果返回的自然是方法的结果。

四、结论:

        如果你需要返回方法的结果而不是方法本身,记得查看下你引用时是不是引用的方法变量(example)而不是直接调用方法(example())。

0 0