一些前端代码实例

请给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

猜你喜欢

转载自blog.csdn.net/lgl_19910331/article/details/81459936