toString:
- 该方法用于将一个逻辑值转换成字符串,并返回结果。
var age=123;
var str=age.toString();//str结果为“123”
var b=false;
var bToString=b.toString();//bToString结果为"false"
- 数值、布尔值、对象和字符串都有toString方法,但null和undefined值没有这个方法。
- toString在大多数情况下不需要传递参数,因为默认情况下该方法可以以二进制、八进制或十六进制表示的响应的结果。
var num=16; console.log(num.toString(2));//10000 二进制 console.log(num.toString(8));//20 八进制 console.log(num.toString(16));//10 十六进制 console.log(num.toString(5));//31 虽然没有五进制,但是这样传参是可以被toString()方法接收的
- 没有从新定义toString方法,看看调用toString方法将Object类型转换string类型是什么样的结果。
var obj={name:"Tom",age:18}; console.log(obj.toString());//"[object,Object]" //此时调用的是从Object继承来的原始的toString()方法
- toString方法的妙用---判断数据的类型
Object.prototype.toString.call(null);//"[object Null]" Object.prototype.toString.call(undefined);//"[object Undefined]" Object.prototype.toString.call("abc");//"[object String]" Object.prototype.toString.call(123);//"[object Number]" Object.prototype.toString.call(true);//"[object Boolean]" function fn(){console.log("test")}//函数类型 Object.prototype.toString.call(fn);//"[object Function]" var arr=[1,2,3];//数组类型 Object.prototype.toString.call(arr);//"[object Array]"