一些前端代码实例

来源: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


--------------------- 



标签: PHP
分享:
评论:
你还没有登录,请先