当前位置: 代码迷 >> JavaScript >> 开始研究javascript了,今天本版第一贴,大家多支持!解决思路
  详细解决方案

开始研究javascript了,今天本版第一贴,大家多支持!解决思路

热度:101   发布时间:2012-02-14 19:19:19.0
开始研究javascript了,今天本版第一贴,大家多支持!
以前没怎么去研究过javascript,都是用些别人的代码,现在要用到AJAX,所以要自己研究了,一开始就遇到麻烦,大家帮我看看这段语句吧!
Object.extend(Number.prototype,   {
ToString   :   function(Digits)   {
var   val   =   Math.round(this   *   Math.pow(10,   Digits))   /
  Math.pow(10,   Digits);
var   retStr   =   val.toString();

var   pos   =   retStr.indexOf( '. ');
if   (pos   <   0)   pos   =   retStr.length;

var   digits   =   Digits   -   retStr.substr(pos   +   1).length;
if   (digits   >   0)   {
if   (digits   ==   Digits)   retStr   +=   '. ';
for   (i   =   0;   i   <   digits;   i++)   retStr   +=   '0 ';
}

return   retStr;
}
});
我看不太明白!

------解决方案--------------------
相当于Number.prototype.toString = function(Digits) {
var val = Math.round(this * Math.pow(10, Digits)) /
Math.pow(10, Digits);
var retStr = val.toString();

var pos = retStr.indexOf( '. ');
if (pos < 0) pos = retStr.length;

var digits = Digits - retStr.substr(pos + 1).length;
if (digits > 0) {
if (digits == Digits) retStr += '. ';
for (i = 0; i < digits; i++) retStr += '0 ';
}

return retStr;
}
意思是给Number的原形对象添加一个toString方法
Number对象本身已经有toString方法,所以会有这个来覆盖原有的.
------解决方案--------------------
extend()方法
prototype属性
js里边的仔细研究
------解决方案--------------------
Number.prototype.toString
------解决方案--------------------
cancelBubble的用法
防止重叠的元素的事件被逐级上传,如果下面的代码不使用event.cancelBubble=true;则document.onclick也能感知到鼠标点击事件
<script language= "javascript ">
function document.onclick()
{
alert( "document感知到的 ");
}

function clickMe()
{
alert( "按钮感知到的 ");
event.cancelBubble = true;
}
</script>

<input type= "button " value= "click me " onclick= "clickMe() ">


------解决方案--------------------
对Object中的Number对象的toString()方法做了扩展,重写了该方法。
------解决方案--------------------
var obj ={};
表示定义一个对象实例.
理解这句就理解全部了.
------解决方案--------------------
帮顶一下。
------解决方案--------------------
看一看Prototype JavaScript framework的源代码:

Object.extend = function(destination, source) {
for (property in source) {
destination[property] = source[property];
}
return destination;
}

你会对 "zhaoxiaoyang(梅雪香@深圳) " 的解释有更深入的理解。

------解决方案--------------------
mark
  相关解决方案