博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
9道前端技能编程题
阅读量:6993 次
发布时间:2019-06-27

本文共 2257 字,大约阅读时间需要 7 分钟。

1.修改this的指向

封装函数 f,使 f 的 this 指向指定的对象

// 方法1:function bindThis(func, oTarget) {    return function(){        return func.apply(oTarget, arguments);    };}// 方法2function bindThis(f, oTarget) {    return  f.bind(oTarget);}

2.获取 url 中的参数

  1. 指定参数名称,返回该参数的值 或者 空字符串
  2. 不指定参数名称,返回全部的参数对象 或者 {}
  3. 如果存在多个同名参数,则返回数组

输入:getUrlParam('http://www.nowcoder.com?key=1&key=2&key=3&test=4#hehe', 'key')

输出:[1, 2, 3]

function getUrlParam(sUrl,sKey){    var result = {};    sUrl.replace(/\??(\w+)=(\w+)&?/g,function(a,k,v){        if(result[k] !== void 0){            var t = result[k];            result[k] = [].concat(t,v);        }else{            result[k] = v;        }    });    if(sKey === void 0){        return result;    }else{        return result[sKey] || '';    }}

3.dom结点查找

查找两个节点的最近的一个共同父节点,可以包括节点自身

function commonParentNode(oNode1, oNode2) {    if(oNode1.contains(oNode2)){        return oNode1;    }    else if(oNode2.contains(oNode1)){        return oNode2;    }    else{        return arguments.callee(oNode1.parentNode,oNode2);    }}

4.邮箱字符串判断

判断输入是否是正确的邮箱格式

function isAvailableEmail(sEmail) {       var reg = /^(\w)+(\.\w+)*@(\w)+((\.\w+)+)$/;        return reg.test(sEmail);}

5.数组去重

Array.prototype.uniq = function() {       var arr = [];       var flag = true;            for (var i = 0; i < this.length; i++) {        if (arr.indexOf(this[i]) == -1) {  // 如果没有找到indexOf会返回-1            if (this[i] != this[i]) {   //排除 NaN                              if (flag) {                                       arr.push(this[i]);                                       flag = false;                              }                       }             else {                                arr.push(this[i]);                       }               }       }        return arr;}

6.斐波那契数列

用 JavaScript 实现斐波那契数列函数,返回第n个斐波那契数。 f(1) = 1, f(2) = 1 等

function fibonacci(n) {    // 0 1 1 2 3 5 8    // 0 1 2 3 4 5 6        if (n == 0 || n == 1) {        return n;    }        return fibonacci(n-1) + fibonacci(n-2);}

7.将字符串转换为驼峰

比如:font-size -> fontSize

function cssStyle2DomStyle(sName) {    var arr = sName.split('');     //判断第一个是不是 '-',是的话就删除    if(arr.indexOf('-') == 0)        arr.splice(0,1);   //处理剩余的'-'    for(var i=0; i

转载于:https://www.cnblogs.com/Yfling/p/6628584.html

你可能感兴趣的文章