var url = “http://www.taobao.com/index.php?key0=0&key1=1&key2=2.....”
var obj = parseQueryString(url);
alert(obj.key0)? // 输出0
答案:function parseQueryString(url){
var result={};
var params=url.split("?")[1].split("&");
for(var i=0,length=params.length;i
2、请编写一个通用的事件注册函数(请看下面的代码)。function addEvent(element, type, handler){
if (element.addEventListener) {
element.addEventListener(type,handler,false);
}else if (element.attachEvent) {
element.attachEvent("on"+type,handler);
}else{
element["on"+type]=handler;
}
}
拓展:①获取事件:
getEvent=function(event){
return event ? event : window.event;
}
②获取Target
getTarge=function(event){
return event.target || event.srcElement;
}
③阻止默认事件
preventDefault=function(event){
if (event.preventDefault){
event.preventDefault();
} else {
event.returnValue = false;
}
}
④通用移除事件函数
removeHandler=function(element, type, handler){
if (element.removeEventListener){
element.removeEventListener(type, handler, false);
} else if (element.detachEvent){
element.detachEvent("on" + type, handler);
} else {
element["on" + type] = null;
}
}
⑤阻止冒泡:
stopPropagation=function(event){
if (event.stopPropagation){
event.stopPropagation();
} else {
event.cancelBubble = true;
}
}
3、尝试实现注释部分的Javascript代码,可在其他任何地方添加更多代码(如不能实现,说明一下不能实现的原因):var Obj = function(msg){
this.msg = msg;
this.shout = function(){
alert(this.msg);
}
this.waitAndShout = function(){
//隔五秒钟后执行上面的shout方法
}
}
答案:var Obj = function(msg){
this.msg = msg;
this.shout = function(){
console.log(this.msg);
}
this.waitAndShout = function(){
//隔五秒钟后执行上面的shout方法
var that=this;
setTimeout(that.shout,5000);
}
return this;
}
var obj=Obj("woshimsg");
obj.waitAndShout();
4、下面是个输入框 CSS:#input{border: 1px solid #ccc;}
HTML:
JS:
window.οnlοad=function(){
var oInput=document.getElementById("input");
var value=oInput.value;
oInput.οnfοcus=function(){
this.value="";
};
oInput.οnblur=function(){
if (!this.value) {
this.value=value;
}
};
}
5、请根据下面的描述,用JSON语法编写一个对象: “小明今年22岁,来自杭州。兴趣是看电影和旅游。他有两个姐姐,一个叫小芬,今年25岁,职业是护士。还有一个叫小芳,今年23岁,是一名小学老师。” var persion={
name:"小明",
age:22,
from:"杭州",
interests:["看电影","旅游"],
sisters:[
{
name:"小芬",
age:25,
job:"护士"
},
{
name:"小芳",
age:23,
job:"小学老师"
}
]
}
6、请给JavaScript的String 原生对象添加一个名为trim 的原型方法,用于截取空白字符。要求:String.prototype.trim=function(){
var reg=/^\s*([a-zA-Z]{1,})\s*$/;
return this.match(reg)[1];
}
console.log("taobao ".trim());
说明:match()匹配返回的数组中,第一项是原字符串,第二项是操作后的字符串;淘!你喜欢
window.οnlοad=function(){
var Div=document.createElement("div");
Div.setAttribute("id","example");
var P=document.createElement("p");
P.className="slogan";
P.innerHTML="淘!你喜欢";
Div.appendChild(P);
document.body.appendChild(Div);
}
说明:要注意现将所有要添加的都添加到一个代码片中,最后一次性再添加到body中
国家
网站名
URL
Alexa排名
中国
淘宝网
www.taobao.com
38
美国
Ebay
www.Ebay.com
22
Amazon
www.Amazon.com
27
Alexa提供数据
9、请说明下面各种情况的执行结果,并注明产生对应结果的理由。if (window.addEventListener) {
var addListener = function(el, type, listener, useCapture) {
el.addEventListener(type, listener, useCapture);
};
} else if (document.all) {
addListener = function(el, type, listener) {
el.attachEvent("on" + type, function() {
listener.apply(el);
});
};
}
请阐述 :var addListener = function(el, type, listener, useCapture) {
if (window.addEventListener) {
el.addEventListener(type, listener, useCapture);
}else if (document.all) {
el.attachEvent("on" + type, function() {
listener.apply(el);
});
}else{
el["on"+type]=listener;
}
};
12、
有dom结构如上,请用原生代码(禁用jQuery作答)实现以下功能: