zoukankan      html  css  js  c++  java
  • ValueOf()和toString()

    var colors = ["red", "blue", "green"]; // 创建一个包含3 个字符串的数组
    console.log(colors.toString()); // red,blue,green
    console.log(colors.valueOf()); // red,blue,green
    console.log(colors); // red,blue,green
    /*valueOf和toString方法区别*/
    var arr = [1, 2, 3];
    /*判断是否为数组*/
    console.log(Array.isArray(arr.valueOf())); //true
    console.log(Array.isArray(arr.toString())); //false
    /*
     *其实valueOf()调用完以后还是返回一个数组
     *这个数组被alert的时候会调用toString()函数
     *所以不是valueOf()和toString()函数相同,而是,根本就是间接的调用了toString()函数!
     */
    arr.toString = function() {
        console.log("你调用了toString函数");
    }
    console.log(arr.valueOf());
    console.log(arr.toString());
    // 而对于数值,我们可以调用valueOf的时候直接可以获得数字进行计算,
    // 不必转化成字符串,所以不会调用toString反言之,
    // 如果我们需要获得操作对象的字符串形式的时候就会调用其toString函数
    /*注:数字,只使用toString方法,当为字符串时,会自动调用valueof方法*/
    var c = {
        i: 11111,
        valueOf: function() {
            console.log("你调用了c的valueOf函数");
            return this.i;
        },
        toString: function() {
            console.log("你调用了c的toString函数");
            return this.i;
        }
    };
    // 如果要求的是原始值那么就会调用valueOf,
    // 如果要求的是字符串那么就会调用toString。
    alert(+c);//valueOf
    alert(c);//tostring

     函数的toString方法返回函数的源码。函数内部的注释也可以返回。

  • 相关阅读:
    spring boot 2.1学习笔记【五】SpringBootTest单元测试及日志
    Java网络编程-UDP
    Java网络编程-TCP
    String的特性
    内存池的使用
    软件定时器的使用
    邮箱
    事件集
    线程优先级翻转
    临界区,互斥量与信号量
  • 原文地址:https://www.cnblogs.com/NB-JDzhou/p/7120378.html
Copyright © 2011-2022 走看看