浅谈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()的区别全部内容了,希望大家多多支持我们~
相关推荐
-
全面解析JavaScript中的valueOf与toString方法(推荐)
可以这样说,所有JS数据类型都拥有valueOf和toString这两个方法,null除外.它们俩解决javascript值运算与显示的问题.在程序应用非常广泛.下面我们逐一来给大家介绍下. JavaScript 的 valueOf() 方法 valueOf() 方法可返回 Boolean 对象的原始值. 用法booleanObject.valueOf(),返回值为booleanObject 的原始布尔值.如果调用该方法的对象不是 Boolean,则抛出异常 TypeError. <script
-
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的Number对象的toString()方法
toString()方法的定义和用法: toString()方法可以把Number对象转换成字符串,并返回此字符串. 点击可查看更多相关Number对象(类)的方法和属性. 语法结构: 复制代码 代码如下: NumberObject.toString(radix) 参数列表: 参数 描述 radix 可选.规定表示数字的基数,使2 ~ 36 之间的整数.若省略该参数,则使用基数10.但是要注意,如果该参数是10以外的其他值,则ECMAScript标准允许实现返回任意值. 实例代码: var a=
-
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函数中关于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中toString()方法的使用详解
JavaScript Boolean.toSource()方法返回表示对象的源代码的字符串. 注意:此方法不会在Internet Explorer中运行. 语法 boolean.toSource() 下面是参数的详细信息: NA 返回值 返回表示对象的源代码的字符串. 例子: <html> <head> <title>JavaScript toSource() Method</title> </head> <body> <scr
-
非常好用的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) ? "
-
浅谈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
随机推荐
- mariadb的主从复制、主主复制、半同步复制配置详解
- JavaScript数组和对象的复制
- js DOM 元素ID就是全局变量
- VBS教程:方法-Skip 方法
- Mybatis批量删除多表
- ORACLE查看并修改最大连接数的具体步骤
- Oracle 数据库忘记sys与system管理员密码重置操作方法
- 后缀为 ashx 与 axd 的文件区别浅析
- JQuery FlexiGrid的asp.net完美解决方案 dotNetFlexGrid-.Net原生的异步表格控件
- 详解Django缓存处理中Vary头部的使用
- 欢迎品尝用vml画的苹果~~
- 区分IE6,IE7,firefox的CSS hack
- alt键 chr码值对应列表查看方法
- jQuery实现Flash效果上下翻动的中英文导航菜单代码
- SQL Server误区30日谈 第12天 TempDB的文件数和需要和CPU数目保持一致
- mysql常见错误集锦
- JS去除数组重复值的五种不同方法
- 详解如何在 CentOS7.0 上搭建DNS 服务器
- java对象初始化顺序验证示例
- GridView使用学习总结