日期:2014-05-16  浏览次数:20383 次

这段代码看不懂,高手调教下吧!
JScript code
<Script>
function member(name, sex) {
    this.name = name;
    this.sex = sex;
}

function showProperty(obj, objString) {
var str = "";
for (var i in obj)
    str =str + objString + "." + i + " = " + obj[i] + "<BR>";  //这个也不太懂。
 return str;
}
 
papa = new member("小李子", "男");
document.write(showProperty(papa, "papa")) 
</Script>




obj 和 objString 这两个参数没看懂什么意思?
对输出内容不太理解:

papa.name = 小李子
papa.sex = 男

唉,真不好意问。但新手确实吃力啊。

------解决方案--------------------
obj表示对象 和 objString表示对象名称
------解决方案--------------------
function showProperty(obj, objString) {
var str = "";
for (var i in obj)
str =str + objString + "." + i + " = " + obj[i] + "<BR>"; //这个也不太懂。
 return str;
}
该函数作用是显示一个对象每一个属性的名称和值
比如objString参数为'对象'
显示格式为:'对象.属性名称=属性值'

你这段代码中
member为构造函数,构造函数中给对象添加了两个属性name和sex
papa = new member("小李子", "男");
为用函数menber构造对象papa,因此papa有name和sex属性
如果你不能理解对象和属性什么的,那你不应该问这些问题,好好去学学js的面向对象才是正经


------解决方案--------------------
这个运行结果:
papa.name = 小李子
papa.sex = 男


for (var i in obj)
str =str + objString + "." + i + " = " + obj[i] + "<BR>"; //这个也不太懂。
 return str;
}
这中方式都没用过,以后可以参考了,哈哈。
这个大概是遍历这个obj对象中的属性,i就是每次循环的属性名称,obj[i]直接就可以得到它的属性的值了吧。
------解决方案--------------------
探讨

obj表示对象 和 objString表示对象名称

------解决方案--------------------
探讨
function showProperty(obj, objString) {
var str = "";
for (var i in obj)
str =str + objString + "." + i + " = " + obj[i] + "<BR>"; //这个也不太懂。
 return str;
}
该函数作用是显示一个对象每一个属性的名称和值
比如objString参……

------解决方案--------------------
str =str + objString + "." + i + " = " + obj[i] + "<BR>"; 

循环的拼成一个str字符串