`
周凡杨
  • 浏览: 234566 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Javascript中函数的toString()方法

阅读更多

简述

    The toString() method returns a string representing the source code of the function.

    简译之,Javascript的toString()方法返回一个代表函数源代码的字符串。

句法

    function.toString(indentation) 或 Function.prototype.toString()

详细描述

     The Function object overrides the toString method inherited from Object; it does not inheritObject.prototype.toString. For Function objects, the toString method returns a string representation of the object in the form of a function declaration. That is, toString decompiles the function, and the string returned includes the function keyword, the argument list, curly braces, and the source of the function body.

JavaScript calls the toString method automatically when a Function is to be represented as a text value, e.g. when a function is concatenated with a string.

 

 先来看看默认情况下使用toString()会返回什么

<script type="text/javascript">
                   function sum(a){
                        var t = 1;
                             return sum;
                   }
                   alert((sum(1)).toString());
</script>

 

    运行代码1后,浏览中弹出框的内容是:

function sum(a){
     var t = 1;
     return sum;
}

    这里也证明了函数的toString() 方法默认下返回的是该函数的源代码(字符串格式)。

 

   根据上面的详细描述,函数的toString()方法可以被override,即重写。我们来重写该方法:

 

<script type="text/javascript">
         function sum(a){
              var t = 1;
              sum.toString = function(){
                    return "override toString method";
               }
               return sum;
         }
        alert((sum(1)).toString());
</script>

   

    运行代码2后,浏览器弹出框中的内容是: 

override toString method

   从运行结果中得出结论,toString()方法已经被重写。

 

 

学以致用:

    问题:

     创建一个函数sum,使得:sum(a)(b) = a+b; sum(a)(b)…(c)=a+b+…+c; 成立。

 

 <script type="text/javascript">
                   function sum(a){
                        var sum = a;
                             function t(b){
                                sum += b;
                                     return t;
                             }                 
                            t.toString = function() { return sum }
                            return t;
                   }
                   alert(sum(1)(2)(-1));
                   alert(sum(1)(2)(-1)(7));
         </script>

    在这个例子中,最后是使用toString方法成功的返回了sum值,解答问题完毕。

 

 

    参考资料:

    https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/toString

 

 

1
0
分享到:
评论

相关推荐

    JavaScript Object toString 初始补充

    在JavaScript中,`toString`方法是一个内置的方法,用于将对象转换为字符串表示。这个方法对于理解和操作JavaScript对象至关重要,尤其当我们需要将对象的信息以文本形式展示或者在控制台打印时。`toString`方法的...

    JavaScript Object toString 初始

    在JavaScript中,`toString`方法是一个内置的方法,用于将对象转换为字符串形式。这个方法对于理解和调试代码至关重要,因为当你尝试打印或输出一个对象时,JavaScript引擎默认会调用该对象的`toString`方法。本篇...

    JavaScript中valueOf函数与toString方法深入理解

    JavaScript中的valueOf和toString方法是两种常见的对象转换方法,它们用于将JavaScript对象转换为基本数据类型。在JavaScript中,除了null,几乎所有内置的数据类型都具备这两个方法。这些方法在处理值的计算和显示...

    JavaScript中toString()方法的使用详解

    在JavaScript编程语言中,toString()方法是一个常用的基础知识,它能够将一个对象转换成字符串形式。这个方法是Object类的一个基础方法,因此所有JavaScript中的对象都继承了这个方法。当我们调用toString()方法时,...

    js中toString()和String()区别详解

    在JavaScript中,可以使用toString()方法和String()函数将不同类型的值转换为字符串。本文将详细解析这两种转换方法之间的区别以及它们各自的使用场景。 首先,我们来了解一下toString()方法。这个方法是几乎所有...

    JavaScript中Object.prototype.toString方法的原理

    在JavaScript中,Object.prototype.toString是一个基础的方法,...所以,无论你是直接使用Object.prototype.toString方法,还是依赖于库提供的工具函数,了解其背后的原理对于编写健壮的JavaScript代码都是至关重要的。

    JAVASCRIPT函数之高阶函数.pdf

    高阶函数是函数式编程的核心概念之一,在JavaScript中尤为重要,因为JavaScript函数是"一等公民"。 ### 知识点一:高阶函数定义 高阶函数指的是可以接受一个或多个函数作为参数的函数,也可以返回一个函数。这样的...

    全面解析JavaScript中的valueOf与toString方法(推荐)

    在JavaScript中,`valueOf`和`toString`方法是两种用于对象转换的核心机制,尤其是在处理基本类型和对象实例的转换时。这两个方法对于理解和编写高效、可靠的JavaScript代码至关重要。 `valueOf`方法主要用于返回...

    JavaScript中的object转换函数toString()与valueOf()介绍

    在JavaScript中,toString()是一个非常重要的方法,它被设计用来返回对象的字符串表示。当需要将对象表示为文本形式时,JavaScript引擎会调用对象的toString()方法。对于大多数内置对象,toString()方法都有默认的...

    常用JavaScript函数 16 - 30(自我总结)

    这篇自我总结涵盖了JavaScript函数的16到30个常用知识点,旨在帮助开发者更好地理解和应用这些功能强大的工具。 1. **数组操作** - `slice()`:用于从原数组中提取一个子数组并返回,不会改变原数组。 - `splice...

    JavaScript函数中关于valueOf和toString的理解

    在JavaScript中,`valueOf`和`toString`是两个非常重要的内置方法,它们主要与对象的类型转换有关。在处理函数时,这两个方法尤其关键,因为函数本身也是JavaScript中的对象,可以拥有自己的属性和方法。 首先,`...

    经常用到的javascript日期函数库啊

    本文将详细介绍一个实用的JavaScript日期函数库,包括其核心功能及使用方法。 #### 二、核心功能 根据提供的部分代码片段,我们可以总结出该日期函数库的核心功能如下: 1. **isLeapYear**:判断当前日期是否为...

    Javascript 编程常用函数属性及方法

    ### JavaScript编程常用函数属性及方法详解 #### 一、引言 JavaScript 是一种广泛应用于网页开发的脚本语言,能够实现动态效果、交互性以及数据处理等功能。掌握JavaScript中的核心对象及其属性和方法,对于提高...

    JavaScript中常见的字符串操作函数及用法

    "JavaScript中常见的字符串操作函数及用法" JavaScript 中的字符串操作函数是非常基础和重要的,以下是 JavaScript 中常见的字符串操作函数 及其用法。 字符串转换 字符串转换是最基础的要求和工作,你可以将任何...

    js代码-JS中对函数使用toString方法直接返回该function的源代码

    在JavaScript(JS)中,`toString`方法是一个内置的方法,可以用于对象的转换,当它应用于函数对象时,它提供了一种独特的方式来获取该函数的源代码文本。这个功能对于调试、学习或复制函数的定义非常有用。让我们...

    javascript定义函数的方法

    JavaScript函数可以被赋值给变量,也可以作为参数传递给其他函数,或者作为其他函数的返回值。这使得JavaScript支持高阶函数,即操作或返回函数的函数。 7. **函数是对象**: 在JavaScript中,函数是对象,因此...

    C#代码与javaScript函数的相互调用.docx

    如何在C#中访问JavaScript函数? **方法一**:未详细描述。 **方法二**: - 使用Literal控件来动态生成并执行JavaScript代码。 ```csharp private void Button2_Click(object sender, EventArgs e) { string ...

    JavaScript数字格式化函数

    本篇文章将深入探讨JavaScript中的数字格式化函数及其应用。 一、基本数字格式化 1. `toFixed()`:这个内置方法用于将数字转换为字符串,并保留指定位数的小数。例如: ```javascript let num = 3.1415926; ...

Global site tag (gtag.js) - Google Analytics