陈--1 2016-07-29 06:48 采纳率: 0%
浏览 931

有一个关于javaScript的call()的问题

function fnMethod(){};
var str = fnMethod.toString();
/**
结果是 "function fnMethod(){}"字符串
/
var str1 = Object.prototype.toString.call(fnMethod);
/
*
结果是检测出了类型 [object Function]
*/
为什么一个是字符串 一个是 类型
想问下 这到底是怎么执行的 这个call 起到了什么作用

  • 写回答

2条回答 默认 最新

  • mnixu 2016-07-29 07:24
    关注

    对于Object.prototype.toString.call(fnMethod); 简单的来说 call 的作用是 用Object.prototype.toString 来替换 fnMethod 方法

    例子

     function add(a,b)  
    {  
        alert(a+b);  
    }  
    function sub(a,b)  
    {  
        alert(a-b);  
    }  
    
    add.call(sub,3,1);    
    
    评论

报告相同问题?