jjzjj

e.toString

全部标签

javascript - Javascript 的 Function.toString() 的逆运算

对于Javascript应用程序,我需要能够让用户保存对象的状态。这涉及保存一组以前动态创建或通过GUI创建的自定义函数,并在以后加载这些存储的函数。本质上,我需要序列化和反序列化函数。现在我通过使用Function对象的.toString()方法实现序列化部分:func.toString().replace('"','\"').replace(/(\r)/g,'').replace(/(\n)/g,'').replace(/(\t)/g,'')这给了我这样美丽的“序列化”函数(注意该函数未命名):"function(someParameter){this.someFunctionNa

javascript - 为什么 .toString 范围限制为 36?

也许这是一个蹩脚的问题,如果是这样,我真诚地道歉。对我来说,我遇到了一个有趣的挑战。ClickMefunctionmyFunc(){varn=15vara=n.toString();//outputs15varb=n.toString(2);//outputs1111varc=n.toString(9);//outputs16vard=n.toString(18);//outputsfvare=n.toString(36);//outputsfvartotal=a+""+b+""+c+""+d+""+e;document.getElementById('test').innerHTML

javascript - 为什么 Chrome 在 (.1).toString(3) 的点后生成 1099 位数字?

我觉得这只是一个无害的错误,但我仍然想了解发生了什么。我正在玩一些代码来渲染Peanocurve在涉及以3为基数表示逻辑坐标的Canvas上,当我注意到一个函数在Chrome中返回荒谬的长字符串时。仔细观察,结果是表达式(.1).toString(3)在Chrome中评估0.00220022002200220022002200220022010000210021000011010100020220112020121211021220201121200010202102221012011200102210101012020202002210201010020021011001000020

javascript - foo.toString() 和 Object.prototype.toString.call(foo) 有什么区别?

如果我定义一个函数:functionfoo(){alert(this.x);}我可以通过调用foo函数的toString方法来打印函数定义。console.log(foo.toString())输出:functionfoo(){alert(this.x);}如果我然后运行console.log(Object.prototype.toString.call(foo))输出:"[objectFunction]"令我惊讶的是输出结果不同。我认为这两种形式是等价的吗?即foo函数从顶级Object继承了toString方法并使用Object.prototype.toString.call(fo

javascript - 为什么 toString() 和 this.toString() 在 Chrome 的控制台中产生不同的结果?

现在这根本没有任何实际意义,但我对我偶然发现的这个小怪癖很好奇。基本上,在Chrome的开发者控制台中,这toString()返回[objectObject],而这个this.toString()返回[objectDOMWindow]。据我所知,这只发生在控制台,可以看出onthisjsFiddle.有人在##javascript上找到了thislink解释函数的来源。但是,它没有解释在控制台内部或外部使用时行为中存在的差异。那么为什么toString()和this.toString()在Chrome的控制台中产生不同的结果? 最佳答案

javascript - 分配给 {}.toString 是什么意思?

我正在学习JavaScript,我看到了这个演示类型检测的片段:vartoClass={}.toString//CopyareferencetotoStringforobjectsintotoClassvariablealert(toClass.call([1,2]))//[objectArray]alert(toClass.call(newDate))//[objectDate]我不明白第一行的空大括号是干什么用的,所以我这样删除它们:vartoClass=toString代码仍然有效。但是在下面的代码中,functiongetAge(){alert(this.age);}varp1

javascript - JSON stringify 使用什么 toString 函数?

我想为数据类型创建自己的toString函数。举个例子:JSON.stringify({})//"{}"我想要返回"test"。于是,我尝试修改对象原型(prototype):Object.prototype.toString=function(){return"test";}然后:JSON.stringify({})也返回"{}"。我确信有一个函数可以重写以返回自定义值。那个函数是什么? 最佳答案 functionMyObj(){};MyObj.prototype.toJSON=function(){return"test";}J

javascript - 100.toString 与 100 ['toString']

100['toString']//doesnotfail100.toString//fails为什么?100.toString与100.toString()不同。那么为什么在第二种情况下我没有得到函数作为返回值呢? 最佳答案 第二行失败,因为它被解析为数字“100.”,后跟“toString”。要使用点符号,以下任何一种都可以:(100).toString100.0.toString100..toStringvara=100;a.toString如果您尝试调用toString函数,您还需要包括括号:(100).toString()1

c# - 无效的 Double.ToString() 导致 Razor 代码生成 javascript

我使用以下Razor代码生成一些javascript以在Googlemap上生成标记。@foreach(PointpointinModel.Points.Take(3)){Stringlongitude=point.Longitude.ToString(CultureInfo.InvariantCulture);Stringlatitude=point.Latitude.ToString(CultureInfo.InvariantCulture);varlocation=newgoogle.maps.LatLng(@(longitude),@(latitude));bounds.ext

javascript - 对象原型(prototype)上的 toString().call() 如何获取数组的类型

我正在查看代码以确定一个对象是否为数组,然后我遇到了thisanswer.代码运行良好,但我无法理解它是如何与[objectArray]进行比较的我试图获取typeofArray,但它抛出了一个错误。所以我对这段代码感到困惑”if(Object.prototype.toString.call(someVar)==='[objectArray]'){我很想知道对象上的toString.call(_ON_AN_ARRAY_)方法调用如何正确获取数组对象的类型。 最佳答案 从技术上讲,数组是一个对象,所以当您执行typeofarrayVa