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

    原文地址

    toString() 方法可把 Date数据对象转换为字符串,并返回结果

    可知js这中的Date类型存在六种:分为undefined;null;Boolean;number;String和object型。在这六种中,undefined和null两种没有.toString(),如果写了会报错。

    Boolean:会根据其var变量内容返回true or flase两种。
    示例:var num1=false;document.write(num1.toString()+"</br>");
    结果:flase;

    number:.toString()括号内可以带有一个参数(2~36【0到9和26个英文字母】),表示数值所转化的进制,默认为10进制。
    示例:

    var num2=18;
    document.write("数值为:"+num2+"</br>");
    document.write("二进制:"+num2.toString(2)+"</br>");
    document.write("八进制:"+num2.toString(8)+"</br>");
    document.write("十进制:"+num2.toString()+"</br>");
    document.write("十六进制:"+num2.toString(16)+"</br>");

    结果:
    数值为:18
    二进制:10010
    八进制:22
    十进制:18
    十六进制:12

    String就不用说了。。。。

    object:首先得说明object数据类型本身具有内置的.toString(),如果直接的object.toString(),都会得到个相同的结果-----[object Object] 。
    示例:

    function Dog(name,sex,color){
        this.name=name;
        this.sex=sex;
        this.color=color;
    }
     
    var dog=new Dog("jack","female","black");
    document.write( dog.toString());

    所以我们可以利用prototype属性(翻译:原型),改变其内置自带的.toString()方法。
    示例:

    function Dog(name,sex,color){
        this.name=name;
        this.sex=sex;
        this.color=color;
    }
    Dog.prototype.toString=function dogtoString(){
        var ret="This is a named "+this.name+" "+this.color+" "+this.sex+" dog";
        return ret;
    }
    var dog=new Dog("jack","female","black");
    document.write(dog.toString());

    结果;
    This is a named jack black female dog

    顺带说一句:prototype属性允许开发者往对象中添加/修改属性和方法
    示例代码:

    function Dog(name,sex,color){
        this.name=name;
        this.sex=sex;
        this.color=color;
    }
    //修改方法
    Dog.prototype.toString=function dogtoString(){
        var ret="This is a named "+this.name+" "+this.color+" "+this.sex+" dog";
        return ret;
    }
    //添加方法
    Dog.prototype.togaga=function gaga(){
        return "The method I added!";
    }
    //添加属性
    Dog.prototype.breed=null;
    var dog=new Dog("jack","female","black");
    dog.breed="breed";
    document.write(dog.breed+"</br>");
    document.write(dog.toString()+"</br>");
    document.write(dog.togaga());

    结果:

    breed
    This is a named jack black female dog
    The method I added!

    当需要判断数据类型的时候可以用 Object.prototype.toString.call(param);
    Object原型上的toString方法;使用call方法可以修改toString方法内部的this指向,将this指向为call里面的第一个参数;

    var bool = true;
    Object.prototype.toString.call(bool);
    "[object Boolean]"
    var str = 'hello world';
    Object.prototype.toString.call(str);
    "[object String]"
    var num = 123;
    Object.prototype.toString.call(num);
    "[object Number]"
    var arr = [1,2,3];
    Object.prototype.toString.call(arr);
    "[object Array]"
    var fn = function(){};
    Object.prototype.toString.call(fn);
    "[object Function]"
    var obj = {a:1};
    Object.prototype.toString.call(obj);
    "[object Object]"
  • 相关阅读:
    C的xml编程文章链接
    《Android内核剖析》读书笔记 第13章 View工作原理【View树遍历】
    在MyEclipse中编写Web Project,编码设置全集合
    “克强经济学”绝非是通缩经济学
    VS2008--无法找到“XXX.exe”的调试信息,或者调试信息不匹配
    Dubbo架构设计详解--转载
    Beyond MySQL --Branching the popular database--转载
    eclipse中不能找到dubbo.xsd解决方法
    Java + MongoDB Hello World Example--转载
    Dubbo入门实例--转载
  • 原文地址:https://www.cnblogs.com/web-record/p/11612579.html
Copyright © 2011-2022 走看看