首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

关于Javascript中的valueOf与toString

: 所有对象继承了两个转换方法: toString(): 它的作用是返回一个反映这个对象的字符串 valueOf():它的作用是返回它相应的原始值 toString() toString()函数的作用是返回...JavaScript中object默认的toString()方法返回字符串”[object Object]“。定义类时可以实现新的toString()方法,从而返回更加具有可读性的结果。...JavaScript对于数组对象、函数对象、正则表达式对象以及Date日期对象均定义了更加具有可读性的toString()方法: Array的toString()方法将返回以逗号分隔的数组成员。...JavaScript对于Date对象定义了更加具有可读性的valueOf()方法: Date的valueOf()方法将返回一个时间戳数值,该数值为Date对象与1970年1月1日零时的时间差(以毫秒为单位...,以满足不同的运算情况。

94210

javascript中的闭包、函数的toString方法

setName, getName } } let obj = func(); obj.getName(); obj.setName(); obj.getName(); 输出结果为: allen kivi 函数的toString...方法: 假设我们知道一个指向某方法的变量, 我们可以调用toString方法看这个方法的代码: let func = function(x) {console.log(x)}; func.toString...,你不能信赖toString方法, 因为有时候你拿不到想要的方法体字符串; 举个例子 let func = (function(x) {console.log(this.x)}).bind({x:123...}); func(); 输出:123 这是正常的, 因为:bind方法产生了一个新的函数,并且给产生的这个新函数绑定了this,在这里this就是{x:123} 如果调用 func.toString...(); 输出结果就是: "function () { [native code] }" 因为ECMAScript对toString方法并没有任何约束,浏览器开发厂商就无所顾忌了 js里的bind方法很有可能是

1.1K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    JavaScript中为什么12.toString会报错?

    在前面的文章中,我们已经从运行时的角度了解过 JavaScript 的知识内容,在接下来的几节课,我们来了解一下 JavaScript 的文法部分。...这个字符也叫做“bit order mark”; 此外,JavaScript 支持所有的 Unicode 中的空格分类下的空格,我们可以看下表: 很多公司的编码规范要求 JavaScript 源代码控制在...是 U+2028,是 Unicode 中的行分隔符。是 U+2029,是 Unicode 中的段落分隔符。...这里就有一个问题,也是我们标题提出的问题,我们看一段代码: 12.toString() 这时候12....会被当作省略了小数点后面部分的数字,而单独看成一个整体,所以我们要想让点单独成为一个 token,就要加入空格,这样写: 12 .toString() 数字直接量还支持科学计数法,例如: 10.24E+

    79210

    你不知道的javascript中类型和valueOf()和toString()~~!!

    前言: 在Javascript这门语言中有两个比较重要的方法。毫不夸张的说,前端小伙伴天天在用他们。...熟悉Javascript这门语言的小伙伴肯定知道Javascript中两个非常重要的概念:原型和原型链。valueOf和toString两个方法便是定义在Object原型对象身上的两个方法。...先来打印一下这个对象: console.log(Object.prototype) 这就意味着,在Javascript中每个对象都可以调用这两个方法。...先来看一下Number: 同理,String和Boolean也是一样的操作,小伙伴私下可以试一下把不同的值转成String和Boolean var num = new Number('123') typeof...有可能就出现两个不同类型的数据进行运算了,如: '100' - 99 // 1 这两个字符串类型的值,也是可以进行数值运算的,运算结果是1,这就说明在运算的时候发生的类型转换,字符串转成了数值,然后再进行运算

    56110

    GNU和BSD版本的xargs 分隔符不同

    ,要分别以其为参数,执行一些命令,无论是否成功都要对所 有目标执行,所以 1 “一些命令”我选用shell function来实现,在其中读了$1作为本次处理的目标 2 “所有目标”我选用xargs;如果选...Parallel还得额外安装 结果发现xargs在切分“以空格为分隔符”的字符串的时候,GNU版本默认不切分,结果把 整个“含空格分隔符的字符串”传给函数,执行了一次,而函数里又选了$1作为本次执行 目标...,其综合结果就是只对列表中第一个目标执行了一遍 更惨的是我对比的时候是在Mac上做的对比,怎么看怎么顺眼…… 最后请教同事,用xargs的-d参数解决的 This manual page documents...,这时候应该把已经读到的这一段作为一个参数加到列表里去  看它的判断条件if (!...但是有网友指出:按照POSIX标准、GNU xargs的文档,开启-I就是强制一整行的,我的用法不清真。对此我只能说:满足标准但是不满足需求啊,为什么输出端的参数会影响输入端的行为呢?

    16610

    前端问答:JavaScript 中的??和|| 有啥不同

    在 JavaScript 开发中,很多小伙伴都会遇到一个场景,就是要给变量设置一个默认值,比如当变量没有有效值时,使用一个备用值。这个时候,可能有两个操作符会让你感到困惑:??...一开始看,它们似乎都能达到相同的效果,但其实它们背后的逻辑完全不同,适用的场景也不一样。今天我们就来聊聊这两者的区别,帮你快速上手,避免掉坑! "||" 是怎么工作的?—— 就像找备胎一样!...JavaScript 中的"??"操作符:只关心空值,别搞混了! JavaScript 里的??(空值合并运算符)看起来和我们之前聊过的||有点像,但它其实更“挑剔”!...(空值合并运算符)和 ||(逻辑或运算符)都是用来设置默认值的利器,初学者可能觉得它们差不多,但其实它们的行为有很大不同。为了避免代码里的坑,我们必须清楚两者的使用场景和差异。 1....结束 在 JavaScript 开发中,?? 和 || 绝对是处理默认值的利器,虽然它们看上去很像,但实际应用中却有明显区别。|| 会把很多值当作“假值”,包括 0、false、空字符串等;而 ??

    22600

    JS中toString()、toLocaleString()、valueOf()的区别

    3)总结 valueOf:返回一个 Number 对象的基本数字值。 toString():把数字转换为字符串,使用指定的基数。...七、toString() VS toLocalString() toLocalString()是调用每个数组元素的 toLocaleString() 方法,然后使用 地区特定的分隔符把生成的字符串连接起来...toString()方法获取的是String(传统字符串),而toLocaleString()方法获取 的是LocaleString(本地环境字符串)。...LocaleString()会根据你机器的本地环境来返回字符串,它和toString()返回的 值在不同的本地环境下使用的符号会有微妙的变化。...所以使用toString()是保险的,返回唯一值的方法,它不会因为本地环境的改变而 发生变化。如果是为了返回时间类型的数据,推荐使用LocaleString()。

    3.1K21

    toString().intern()中的intern()中的作用和使用

    在Java中,toString().intern()​这个表达式通常用在一个对象的字符串表示上,用于将该字符串对象放入字符串池(String Pool)中,并返回字符串池中该字符串的引用。...这里分两部分来解释: toString() : 这是一个方法,用于返回对象的字符串表示形式。几乎所有的Java类都继承自Object​类,而Object​类中定义了toString()​方法。...默认的实现通常返回类名和对象的内存地址的哈希码形式,但很多类会重写这个方法以提供更有意义的字符串表示。例如,一个Person​类可能会重写toString()​方法来返回人的名字和年龄等信息。...intern() : 这是String​类的一个方法。当调用一个字符串对象的intern()​方法时,JVM会检查字符串池中是否存在相同内容的字符串。...示例: String str1 = new StringBuilder("Hello").toString(); // 创建一个新的字符串对象 String str2 = str1.intern();

    13810

    源码浅谈(一):java中的 toString()方法

    对象中     ②、如果这个子元素不是集合本身,添加到buffer对象中     ③、如果这个子元素下面还有子元素,则添加", "到buffer对象中去,用于分割两个相邻子元素 3、返回StringBuffer.toString...Log.i("myinfo",c.toString()); } 看日志结果中红色部分,是不是看懂了,如果集合中的子元素是集合本身,就将"(this Collection...)" 添加到返回集合中   至此,上面这个问题解决了,下面我们看下其他类下的.toString()源码。...+ Integer.toHexString(hashCode())   综上:当你的一个类中没有重写.toString()方法的时候就会执行根类Object的这个.toString()方法。...toString()方法   但是他们本身的toString()却有所不同,我们由此可以总结   1、StringBuilder:线程非安全的  StringBuffer:线程安全的       2、

    1.1K30

    JavaScript的三种类型检测typeof , instanceof , toString比较

    1.typeof typeof是js的一个操作符,在类型检测中,几乎没有任何用处。...typeof 返回一个表达式的数据类型的字符串,返回结果为javascript中的基本数据类型,包括:number、boolean、string、object、undefined、function等6种数据类型...也就是说,typeof只能返回这几种类型,而对于我们的自定义对象,它只会返回object,在实际应用中作用约等于零。...此外,typeof在不同浏览器中可能存在一些兼容性的问题,如将function类型认作是object等 2.instanceof instanceof操作符采用了另一种方式来判断对象类型:原型链。...3. toString 使用Object.prototype.toString.call(value) 方法去调用对象,得到对象的构造函数名。

    1.7K50

    JavaScript引用类型之Array数组的toString()和valueof()方法的区别

    一、转换方法 1、在JavaScript中几乎所有对象都具有toLocaleString()、toString和valueof()方法,因为,所有的对象都继承自Object,而前面所说的方法都是Object...所以数组也有toString()方法,其中调用数组的toString()方法会返回由数组中每个值的字符串形式拼接而成的一个以逗号分割的字符串。...,在输出数组的字符串类型 2、toString()方法:返回对象的字符串表示。...4、两者的不同点 共同点:在 JavaScript 中,toString()方法和valueOf()方法,在输出对象时会自动调用。...不同点: (1)、二者并存的情况下,在数值运算中,优先调用了valueOf,字符串运算中,优先调用了toString。

    1.5K70
    领券