- -对于JS不是很熟练,最近开始学习和掌握关于JS闭包,继承,扩展这一块。遇到一个问题
公司封装好了一些js文件
源文件是这样的,这里只列举一个简单的JS函数
- JScript code
(function() { var As ={ //格式化数字 AsNumber.prototype.FormatNumberValue = function(precision) { var numberValue = this.value.toString(); var nArr = numberValue.split("."); var reg = /^[-]?[\d]+$/gim; if (!reg.test(nArr[0].toString())) { return NaN; } if (nArr.length > 1) { reg = /[^\d]/gim; if (reg.test(nArr[1].toString())) { return NaN; } } numberValue = nArr[0].toString(); //精度 var nPrecision = parseInt(precision); if (!isNaN(nPrecision) && (nPrecision > 0)) { var decimalValue = (nArr.length > 1) ? nArr[1].toString() : ""; numberValue += this.FormatPrecision(decimalValue, nPrecision); } return numberValue; }};})();
我自己将这一段抠出来,按照原生态的JS办法执行调用 但是报错说找不到this.value.toString()
我想知道以上这段JS该如何调用到页面?弄的我有点混淆了
------解决方案--------------------------------------------------------
对于JS不了解,我也准备学习了! 友情帮顶~
------解决方案--------------------------------------------------------
在后台调用的?你设置断点跟踪下js
------解决方案--------------------------------------------------------
this.value.toString()就是你要格式化数字,类似C#的"aa".tostring() "aa"就是这个THIS
------解决方案--------------------------------------------------------
把调用方法贴一下
------解决方案--------------------------------------------------------
你要把这代码抠出来 ,就写个
function func(x)
{
用x替换掉原来的this
}
------解决方案--------------------------------------------------------
谁知道你this是什么东西,是参数precision么亦或是html控件的值
------解决方案--------------------------------------------------------
var numberValue = this.value.toString();
改为
var numberValue = 具体的值
试试
------解决方案--------------------------------------------------------
- C# code
function aa(bb,precision){ var numberValue = bb.toString(); var nArr = numberValue.split("."); var reg = /^[-]?[\d]+$/gim; if (!reg.test(nArr[0].toString())) { return NaN; } if (nArr.length > 1) { reg = /[^\d]/gim; if (reg.test(nArr[1].toString())) { return NaN; } } numberValue = nArr[0].toString(); //精度 var nPrecision = parseInt(precision); if (!isNaN(nPrecision) && (nPrecision > 0)) { var decimalValue = (nArr.length > 1) ? nArr[1].toString() : ""; numberValue += aa(decimalValue, nPrecision); } return numberValue;}