js+jquery常用知识点汇总

一、jquery源码中常见的知识点

  1.string,number类型转换的快捷方法

复制代码 代码如下:


// @param s为字符串,n为数字
function fn(obj){
    //转换为String类型
    var s = obj +"";
    //转换为number类型
    var n = +obj;
}

  分享一个面试例子:

//加会将其后面自动转换成字符串
"64"+4="644"
//减会将其自动转换成数字
"64"-4=60

  2.bool类型转换

  !!obj,将其强制转换为bool类型

复制代码 代码如下:


alert(!!0)  //结果为false
alert(!!"33dd")  //结果为true

  !obj,取相反的bool类型

复制代码 代码如下:


alert(!0)  //结果为true
alert(!"222333")  //结果为false

  3.=== 与 ==区别

  === 是严格相等,不会进行类型转换,而 == 是不严格相等,会进行类型转换。有些js的书中,建议开发人员永远不要用 == 或者 != 。

  但是jquery源码中,有用到“==”或者“!=”的情况 —— 判断 undefined 和 null 的时候。

复制代码 代码如下:


//这里的判断,将obj是null,obj是undefined都排除在外了
if(obj != null){
}

  4.检测obj是否为window对象

复制代码 代码如下:


//null == window.null为true
function isWindow(obj){
    return obj != null && obj == window.obj;
}

  5.|| 与 && 用法技巧

复制代码 代码如下:


//例 var aa=5; name = aa || {} ; alert(name) 则name为55
this.name = name || {} //如果name值存在,则值为name,反之为{}
//例 var aa=5; name = aa && {} ; alert(name) 则name为{},因为aa为5,不为0则为真
this.name = bool && [] //如果bool为true,则值为[],反之则为bool

  经典实例:

复制代码 代码如下:


( window.foo || ( window.foo = "bar" ) );
                alert(window.foo);  //弹出  bar
//  为什么最后的结果是bar呢,其实可以看成是   undefined || bar  出来的结果肯定是bar

  6.setTimeout(fn,0)与setTimeout(fn)区别

  setTimeout(fn,0)与setTimeout(fn)都是延迟执行,但是setTimeout(fn)比setTimeout(fn,0)延迟时间还要长,例

复制代码 代码如下:


        function fn(){
            var data = new Date();
            for(var i=0;i<=1000;i++){
                if(i==1000){
                    console.log("fn="+data.getTime());
                }
            }
        }
        function fn1(){
            var data = new Date();
            for(var i=0;i<=1000;i++){
                if(i==1000){
                    console.log("fn1="+data.getTime());
                }
            }
        }
        setTimeout(fn,0),
        setTimeout(fn1);

  结果:

js+jquery常用知识点汇总

  7.判断是否为数值

复制代码 代码如下:


function isNumeric(obj){
return !isNaN(parseFloat(obj)) && isFinite(obj);
}

  8.判断是否为空对象

复制代码 代码如下:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wgfdgz.html