打印

基础求教

本主题由 SinNeR 于 2008-6-29 22:56 移动
function htmltag(tag,content,pv)

{

var r = "";

r = "<"+tag+" ";

for(var p in pv) //组合标签属性="属性值"

{

r += p+"=\""+pv[p]+"\" ";

}

if(typeof content != "string") //非区块标签

{

r += "/>";

}

else //区块标签

{

r += ">"+content+"</"+tag+">";

}

return r;

}

var pv = new Object();

pv["href"] = "http://www.byxue.com";

var atag = htmltag("a","百学网",pv); //区块标签的输出

pv = {}; //new Object() 简写方式 类似 数组 var list = [];

pv["src"] = "logo.gif";

pv["alt"] = "百学网";

var imgtag = htmltag("img",null,pv); //非区块标签的输出

alert(atag + imgtag);


自学中,谁能帮我解释下红色部分的意思,最好能稍微详细点。。。谢谢,有点晕
不得不省。。。
r += p+"=\""+pv[p]+"\" ";
主要是这句里的+=和引号该怎么看,高手联系上下指点下啊,谢谢了
不得不省。。。
以下是我帮你整理的for in应用,你应该能看懂了。
for...in 语句
对应于一个对象的每个,或一个数组的每个元素,执行一个或多个语句。

for (variable in [object | array])
   statements

参数
variable

必选项。一个变量,它可以是 object 的任一属性或 array 的任一元素。

object, array

可选项。要在其上遍历的对象或数组。

statement

可选项。相对于 object 的每个属性或 array 的每个元素,都要被执行的一个或多个语句。可以是复合语句。

说明
在循环的每次迭代前,variable 被赋予 object 的下一个属性或 array 的下一个元素。然后可以在循环内的任一语句中使用它,就好像正在使用 object 的该属性或 array 的该元素一样。

当在一个对象上迭代时,没有办法决定或控制把对象的成员赋给 variable 的次序。在数组内将按元素的次序执行迭代,也就是,0、1、2、......

你这里的p就是key,而pv[p]就是数组value。PHP里面也有类似应用,key-value
WEB理想
谢谢,明白了,
自学好累,总是被些小问题绊住脚。。。
不得不省。。。

TOP

还在为头像烦恼?还在为不能关注好友动态烦忧?快来蓝色理想家园吧!