当前位置: 代码迷 >> ASP.NET >> 关于JS的一点疑惑解决方法
  详细解决方案

关于JS的一点疑惑解决方法

热度:1060   发布时间:2013-02-25 00:00:00.0
关于JS的一点疑惑
- -对于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;}
  相关解决方案