浅谈JS中String()与 .toString()的区别

我们知道String()与 .toString()都是可以转换为字符串类型,但是String()与 .toString()的还是有区别的

1、.toString()可以将所有的的数据都转换为字符串,但是要排除null 和 undefined

例如将false转为字符串类型

<script>
  var str = false.toString();
  console.log(str, typeof str);
</script>

返回的结果为 false,string

看看null 和 undefined能不能转换为字符串

<blockquote style="margin-right: 0px;" dir="ltr"><pre class="html" name="code"><script>
  var str = null.toString();
  console.log(str, typeof str);
</script>

结果程序报错

<script>
  var str = undefined.toString();
  console.log(str, typeof str);
</script>

程序也报错

.toString() 括号中的可以写一个数字,代表进制,对应进制字符串

二进制:.toString(2);

八进制:.toString(8);

十进制:.toString(10);

十六进制:.toString(16);

2、String()可以将null和undefined转换为字符串,但是没法转进制字符串

例如将null转换为字符串

<script>
  var str = String(null);
  console.log(str, typeof str);
</script>

返回的结果为 null,string

将undefined转换为字符串

<script>
  var str = String(undefined);
  console.log(str, typeof str);
</script>

返回的结果为 undefined,string

以上就是小编为大家带来的浅谈JS中String()与 .toString()的区别全部内容了,希望大家多多支持我们~

(0)

相关推荐

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

    今天看到一个试题,实现如下语法的功能: var a = add(2)(3)(4); //9 这个就是一个高阶函数的应用,分析:add(2)会返回一个函数,add(2)(3)也会返回一个函数,最后add(2)(3)(4)返回一个数值. 实现: function add(num1){ return function(num2){ return function(num3){ return num1+num2+num3; } } } add(2)(3)(4);//9 这个没有错的,可以完美解决问题.

  • JavaScript的Number对象的toString()方法

    toString()方法的定义和用法: toString()方法可以把Number对象转换成字符串,并返回此字符串. 点击可查看更多相关Number对象(类)的方法和属性. 语法结构: 复制代码 代码如下: NumberObject.toString(radix) 参数列表: 参数 描述 radix 可选.规定表示数字的基数,使2 ~ 36 之间的整数.若省略该参数,则使用基数10.但是要注意,如果该参数是10以外的其他值,则ECMAScript标准允许实现返回任意值. 实例代码: var a=

  • 非常好用的JsonToString 方法 简单实例

    非常好用的JsonToString方法Jsontostring代码 复制代码 代码如下: function JsonToString(o) {        var arr = [];     var fmt = function(s) {         if (typeof s == 'object' && s != null) return JsonToStr(s);         return /^(string|number)$/.test(typeof s) ? "

  • Javascript中valueOf与toString区别浅析

    前言 基本上,所有JS数据类型都拥有这两个方法,null除外.它们俩解决javascript值运算与显示的问题,重写会加大它们调用的优化. 测试分析 先看一例: 复制代码 代码如下: var aaa = {  i: 10,  valueOf: function() { return this.i+30; },  toString: function() { return this.valueOf()+10; } } alert(aaa > 20); // true alert(+aaa); //

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

    在JavaScript中,想要判断某个对象值属于哪种内置类型,最靠谱的做法就是通过Object.prototype.toString方法. var arr = []; console.log(Object.prototype.toString.call(arr)) //"[object Array]" 本文要讲的就是,toString方法是如何做到这一点的,原理是什么. ECMAScript 3 在ES3中,Object.prototype.toString方法的规范如下: 15.2.

  • javascript中tostring()和valueof()的用法及两者的区别

    基本上,所有JS数据类型都拥有valueOf和toString这两个方法,null除外.它们俩解决javascript值运算与显示的问题. 1.用法如下: toString()方法:返回对象的字符串表示. 对象 操作 Array 将 Array 的元素转换为字符串.结果字符串由逗号分隔,且连接起来. Boolean 如果 Boolean 值是 true,则返回 "true".否则,返回 "false". Date 返回日期的文字表示法. Error 返回一个包含相关

  • node.js中的buffer.toString方法使用说明

    方法说明: 将buffer对象转换成指定的字符编码的字符串. 语法: 复制代码 代码如下: buffer.toString([encoding], [start], [end]) 接收参数: encoding       转换成字符串后的字符编码,默认为 'utf8′ start                buffer 转换的起始位置,默认为 0 end                 buffer 转换的结束位置,默认为buffer长度 例子: 复制代码 代码如下: var b = new

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

    可以这样说,所有JS数据类型都拥有valueOf和toString这两个方法,null除外.它们俩解决javascript值运算与显示的问题.在程序应用非常广泛.下面我们逐一来给大家介绍下. JavaScript 的 valueOf() 方法 valueOf() 方法可返回 Boolean 对象的原始值. 用法booleanObject.valueOf(),返回值为booleanObject 的原始布尔值.如果调用该方法的对象不是 Boolean,则抛出异常 TypeError. <script

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

    JavaScript Boolean.toSource()方法返回表示对象的源代码的字符串. 注意:此方法不会在Internet Explorer中运行. 语法 boolean.toSource() 下面是参数的详细信息: NA 返回值 返回表示对象的源代码的字符串. 例子: <html> <head> <title>JavaScript toSource() Method</title> </head> <body> <scr

  • 浅谈JS中String()与 .toString()的区别

    我们知道String()与 .toString()都是可以转换为字符串类型,但是String()与 .toString()的还是有区别的 1..toString()可以将所有的的数据都转换为字符串,但是要排除null 和 undefined 例如将false转为字符串类型 <script> var str = false.toString(); console.log(str, typeof str); </script> 返回的结果为 false,string 看看null 和

  • 浅谈java中String StringBuffer StringBuilder的区别

    * String类是不可变类,只要对String进行修改,都会导致新的对象生成. * StringBuffer和StringBuilder都是可变类,任何对字符串的改变都不会产生新的对象. 在实际使用时,如果经常需要对一个字符串进行修改,例如插入.删除等 * 但StringBuffer和StringBuilder有什么区别呢? StringBuffer是线程安全的,在多线程程序中是很方便使用的,但是程序的效率就会慢一点. StringBuilder不是线程安全的,在单线程中,比StringBuf

  • 浅谈js中字符和数组一些基本算法题

    最近在刷 fcc的题,跟升级打怪一样,一关一关的过,还挺吸引我的.今天抽时间把 Basic Algorithm Scritping  这部分题做了,根据一些提示,还是比较简单的.有些题的处理方式 方法,我想值得借鉴.比如在项目中有时候要处理一个字符,如果想不到一些相关的方法,还挺费事的,所以,在此记录下来,如果以后遇到一些字符或者数组处理,可以来翻翻这篇文章,希望以此得到一些提示而不是去翻文档. 看到此博文的博友,有更好更简单的代码或者好的想法,请留言交流(我一直觉得只有学习别人的优秀代码才能进

  • 浅谈JS中的三种字符串连接方式及其性能比较

    工作中经常会碰到要把2个或多个字符串连接成一个字符串的问题,在JS中处理这类问题一般有三种方法,这里将它们一一列出顺便也对它们的性能做个具体的比较. 第一种方法 用连接符"+"把要连接的字符串连起来: str="a"; str+="b"; 毫无疑问,这种方法是最便捷快速的,如果只连接100个以下的字符串建议用这种方法最方便. 第二种方法 以数组作为中介用 join 连接字符串: var arr=new Array(); arr.push(a);

  • 浅谈js中的引用和复制(传值和传址)

    好像一般很少人讲到js中的引用和复制,不过弄清楚这个概念可以帮助理解很多东西 先讲一下很基础的东西,看看js中几种数据类型分别传的什么 引用:对象.数组.函数 复制:数字.布尔 字符串单独说明,因为它的特殊性,无法确定是传递引用还是复制数值(因为字符串的值是没法改变的,所以纠结这个问题也是没意义的)但是用于比较的时候显然是属于传值比较(稍后具体说比较的事) 下面讲一下在使用中的具体体现 最普通的使用就是赋值了 var a = 1; var b = a; //赋的是a的复制值 b ++; aler

  • 浅谈js中startsWith 函数不能在任何浏览器兼容的问题

    在做js测试的时候用到了startsWith函数,但是他并不是每个浏览器都有的,所以我们一般要重写一下这个函数,具体的用法可以稍微总结一下 在有些浏览器中他是undefined 所以我们可以这样的处理一下. if (typeof String.prototype.startsWith != 'function') { String.prototype.startsWith = function (prefix){ return this.slice(0, prefix.length) === p

  • 浅谈JS中的!=、== 、!==、===的用法和区别

    var num = 1; var str = '1'; var test = 1; test == num //true 相同类型 相同值 test === num //true 相同类型 相同值 test !== num //false test与num类型相同,其值也相同, 非运算肯定是false num == str //true 把str转换为数字,检查其是否相等. num != str //false == 的 非运算 num === str //false 类型不同,直接返回fals

  • 浅谈js中对象的使用

    简单记录javascript中对象的使用 一.创建对象 //创建一个空对象 var o={}; //创建一个含有两个属性的对象,x.y var o2={x:12,y:'12',name:'JS'}; //此对象中的author属性的值还是一个对象 var o3={x:12,author:{name:'JS',age:23,address:'china'}}; //创建一个空对象和{}一样 var o4=new Object(); //给对象增加name属性 o4.name='JS' 上面使用了两

  • 浅谈js中StringBuffer类的实现方法及使用

    如下所示: <strong>JAVA中有一个StringBuffer类,js中却没有下面来自己实现一个简单的js的StringBuffer类.</strong> //创建一个StringBuffer类 ,此类有两个方法:一个是append方法一个是toString方法 function StringBuffer() { this.__strings__ = []; }; StringBuffer.prototype.append = function(str) { this.__s

  • 浅谈js中的in-for循环

    浅谈js中的in-for循环 <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script type="text/javascript" src="jquery.js"></script> </hea

随机推荐