张艺兴胃疼腰疼现实文:javascript中的Number问题

来源:百度文库 编辑:高考问答 时间:2024/04/27 13:44:26
研究javascript的网页拖曳问题,发现其中一段代码是Number.prototype.NaN0=function(){return isNaN(this)?0:this;},请问是什么意思,number我搜索相关javascript资料几乎没有什么有价值信息,还有isNaN等,总之希望高手把这句话给于详细的解释,谢谢解答的高手

来自JavasCript手册

Number 对象
代表数值数据类型和提供数值常数的对象。

numObj = new Number(value)

参数
numobj

必选项。要赋值为 Number 对象的变量名。

value

必选项。Required. The numeric value of the Number object being created.

value 参数是对象的数字值。

说明
JScript 根据数字值的要求创建 Number 对象。 很少有必要显式创建 Number 对象。

Number 对象最主要的用途是将其属性集中到一个对象中,以及使数字能够通过 toString 方法转换为字符串。

属性
MAX_VALUE 属性 | MIN_VALUE 属性 | NaN 属性 | NEGATIVE_INFINITY 属性 | POSITIVE_INFINITY 属性 | constructor 属性 | prototype 属性

prototype 属性
返回对象类型原型的引用。

objectName.prototype

objectName 参数是对象的名称。

说明
用 prototype 属性提供对象的类的一组基本功能。 对象的新实例“继承”赋予该对象原型的操作。

例如,要为 Array 对象添加返回数组中最大元素值的方法。 要完成这一点,声明该函数,将它加入 Array.prototype, 并使用它。

function array_max( ){
var i, max = this[0];
for (i = 1; i < this.length; i++)
{
if (max < this[i])
max = this[i];
}
return max;
}
Array.prototype.max = array_max;
var x = new Array(1, 2, 3, 4, 5, 6);
var y = x.max( );
该代码执行后,y 保存数组 x 中的最大值,或说 6。

所有 JScript 固有对象都有只读的 prototype 属性。可以象该例中那样为原型添加功能,但该对象不能被赋予不同的原型。然而,用户定义的对象可以被赋给新的原型。

本语言参考中每个内部对象的方法和属性列表指出哪些是对象原型的部分,哪些不是。

isNaN 方法
返回一个 Boolean 值,指明提供的值是否是保留值 NaN (不是数字)。

isNaN(numValue)

必选项 numvalue 参数为要检查是否为 NAN 的值。

说明
如果值是 NaN, 那么 isNaN 函数返回 true ,否则返回 false 。 使用这个函数的典型情况是检查 parseInt 和 parseFloat 方法的返回值。

用回调函数判断该值是否是数字,不是则赋该值为0,否则为该值本身

这是面向对象的写法。