您现在的位置是:首页 > 电脑技术查询 > web开发

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

编辑:chaxungu时间:2022-10-02 23:20:10分类:web开发

开始研究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