来源:lgl_ 发布时间:2018-11-22 14:33:14 阅读量:1082
请给JavaScript的String 原生对象添加一个名为trim 的原型方法,用于截取空白字符。要求
alert(" taobao".trim()); // 输出 "taobao"
alert(" taobao ".trim()); // 输出 "taobao"
String.prototype.trim = function() {
return this.replace(/^\s+$/g, "");
};
console.log(" taobao".trim()); // 输出 "taobao"
console.log(" taobao ".trim()); // 输出 "taobao"
var foo = {n:1};
(function(foo){ //形参foo同实参foo一样指向同一片内存空间,这个空间里的n的值为1
var foo; //优先级低于形参,无效。
console.log(foo.n); //输出1
foo.n = 3; //形参与实参foo指向的内存空间里的n的值被改为3
foo = {n:2}; //形参foo指向了新的内存空间,里面n的值为2.
console.log(foo.n); //输出新的内存空间的n的值
})(foo);
console.log(foo.n); //实参foo的指向还是原来的内存空间,里面的n的值为3.
同时定义两个相同的方法:
var m= 1, j = k = 0;
function add(n) {
return n = n+1;
}
y = add(m);
function add(n) {
return n = n + 3;
}
z = add(m);
js里面没有函数重载的概念,在其他语言中(如java)java中,可以存在同名函数,
只要传入的参数数量或者类型不同即可。在js中,定义了两个同名函数后,
后面的函数会覆盖前面定义的函数。结合这道题来说,由于函数声明提升,
所以函数声明会提前,由于存在同名函数,后面的add函数将覆盖第一个add函数,
所以两次调用add()返回的值是相同的。也就是y,z都为4.
setTimeout相关实例:
console.log('one');
setTimeout(function(){
console.log('two');
},0);
console.log('three');
one第一个执行就不用说了,而后面的函数用了settimeout,这个函数是指定毫秒数后调用函数或者是计算表达式的,而settimeout设置为0s,你以为他会马上执行?其实他被js放在队列中了,要等别人执行完了,他才会执行。所以如果你想让后面的语句先执行在执行本身的话就用settimeout(0)吧。 ps:中间的函数没注意大小写
请编写一个通用的事件注册函数(请看下面的代码)。
function addEvent(element, type, handler)
{
// 在此输入你的代码,实现预定功能
}
function addEvent(element,type,handler) {
// 在此输入你的代码,实现预定功能
if(element.addEventListener) {//存在的是DOM2级方法
element.addEventListener(type,handler,false);
}else if(element.attachEvent) {//存在的是IE的方法
element.attachEvent("on"+type,handler);
}else {//存在的是DOM0级方法
element["on"+type]=handler;
}
}
12、请用CSS定义p标签,要求实现以下效果: 字体颜色在IE6下为黑色(#000000);IE7下为红色(#ff0000);而其他浏览器下为绿色(#00ff00)。
p{color:#0f0;*color:#f00;_color:#000;}
ie6 *html p{color:#000;}
ie7 *+html p{color:#f00;}
请编写一个JavaScript 函数toRGB,它的作用是转换CSS中常用的颜色编码。 要求:
alert(toRGB("#0000FF")); // 输出 rgb(0, 0, 255)
alert(toRGB("invalid")); // 输出 invalid
alert(toRGB("#G00")); // 输出 #G00
function toRGB(color) {
var str="";
var result=[];
var reg=/^#[0-9a-zA-Z]{3}$/;
if(color=="invalid") {return "invalid";}
if(reg.test(color)) {return color;}
else {
for(vari=1;i<=6;i=i+2){
str=color.sub(i,2);
var ss=str.parseInt(str,16);
result.push(ss);
}
}
return result;
}
console.log(toRGB("#0000ff")); // 输出 rgb(0, 0, 255)
console.log(toRGB("invalid"));// 输出 invalid
console.log(toRGB("#G00")); // 输出 #G00
如:请编写一个JavaScript函数 parseQueryString,它的用途是把URL参数解析为一个对象
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 arr=url.split("?")[1].split("&");
var len=arr.length;
for(var i=0;i<len;i++) {
var arr1=arr[i].split("=");
result[arr1[0]]=arr1[1];
}
return result;
}
var url = "http://www.taobao.com/index.php?key0=0&key1=1&key2=2&key3=3&key4=5";
var obj = parseQueryString(url);
console.log(obj.key0);//输出0
---------------------