JS

作者: 郑无穷大 | 来源:发表于2018-07-21 14:33 被阅读0次

    1、异步和回调


    - 异步:不等任务执行完,直接执行下一个任务。

    function taskAsync = function(){

    var result = setTimeout(function(){

    console.log('异步任务的结果')

    },3000)

    return result

    }

    var result = taskAsync() //result不是异步任务的结果,而是一个timer id

    otherTask() //立即执行其他任务,不等异步任务结束


    回调就是一种特殊的函数调用方式。

    例如

    functon fn(fn2){

        fn2.call()

    }

    fn 将别人传给它的 fn2 调用了,这种调用就是回调。


    2、js中window.location.search的用法和作用


    3、call、apply、bind 的用法分别是什么?


     bind与apply、call最大的区别就是:bind不会立即调用,其他两个会立即调用例子: 如果多次调用bind,那么多出来的次数都是无效的,  三个的使用区别:都是用来改变函数的this对象的指向的;第一个参数都是this要指向的对象;都可以利用后续参数传参;bind是返回对应函数,便于稍后调用,apply、call是立即调用;

    4、innerHTML和innerText


    innerText是以文本的方式  在写入页面的时候也是文本

    innerHTML在写入的时候可以让用户者写入标签,会出问题

    5、DOM对象和js对象以及jQuery对象的区别


    DOM对象和js对象以及jQuery对象的区别

    一、DOM对象

    文档对象模型简称DOM,是W3C组织推荐的处理可扩展置标语言的标准编程接口。

    DOM实际上是以面向对象方式描述的文档模型。DOM定义了表示和修改文档所需的对象、这些对象的行为和属性以及这些对象之间的关系。

    通过DOM,可以访问所有的 HTML 元素,连同它们所包含的文本和属性。可以对其中的内容进行修改和删除,同时也可以创建新的元素。 HTML

    DOM 独立于平台和编程语言。它可被任何编程语言诸如 Java、JavaScript 和 VBScript 使用。

    DOM对象,即是我们用传统的方法(javascript)获得的对象。

    DOM准确说是对文档对象的一种规范标准(文档对象模型),标准只定义了属性和方法行为。

    二、JavaScript 对象

    JavaScript 提供多个内建对象,比如 String、Date、Array 等等。

    对象只是带有属性和方法的特殊数据类型。

    通过js获取的DOM对象就是js对象

    当浏览器支持js的dom接口(api)时,这里狭义的dom对象是以js对象的形式出现的,也就是一个js对象

    三、jQuery对象

    jQuery对象其实是一个JavaScript的数组,这个数组对象包含125个方法和4个属性

    4个属性分别是

    jquery 当前的jquery框架版本号

    length 指示该数组对象的元素个数 .

    context 一般情况下都是指向HtmlDocument对象 .

    selector 传递进来的选择器内容

    jquery对象就是通过jQuery包装DOM对象后产生的对象。jQuery对象是jQuery独有的,其可以使用jQuery里的方法,但是不能使用DOM的方法;反过来Dom对象也不能使用jquery的方法

    jQuery对象和js对象区别:

    1.jQuery对象属于js的数组;

    2.jQuery对象是通过jQuery包装的DOM对象后产生的;

    3.jQuery对象不能使用DOM对象的方法和属性

    4.DOM对象不能使用jQuery对象的方法和属性

    jQuery对象和js对象之间的相互转换

                         1) js转jQuery对象:

                                  $(js对象)

                         2)jQuery对象转js对象

                            示例:

     var doc2=$("#idDoc2")[0];

                           //转换jQuery对象为DOM对象

                           doc2.innerHTML="这是jQuery的第一个DOM对象"

                           //使用jQuery对象本身提供的get函数来返回指定集合位置的DOM对象

    var doc2=$("#idDoc2").get(0);

                           doc2.innerHTML="这是jQuery的第二个DOM对象"  

    6、function与Function的区别


    1、function 是关键字,如if else var let function;

    2、Function 全局对象;

    var 声明的是一个变量,function声明的是一个函数。


    7、$(".a").eq(0) 和 $(”.a“)[0]的区别


    $('.a')  // 选择了3个a,都是jq对象(可以用jq的属性、方法)

    $('.a').eq(1) // 选择了第二个a,是jq对象(不可以使用dom属性方法,可以用jq的属性、方法)

    $('.a')[1]  // 选择了第二个a,是dom对象(可以使用dom属性,方法,不可以使用jq属性方法)

    $('.a').eq(1)[0]  // 选择了第二个a,并且转化成都是dom对象(可以使用dom属性,方法,不可以使用jq属性方法)

    $('.a')[0].eq(1) // 错误,因为dom对象用不了jq方法,eq()是jq方法。


    getBoundingClientRect的用法

    getBoundingClientRect用于获取某个元素相对于视窗的位置集合。集合中有top, right, bottom, left等属性。

    1.语法:这个方法没有参数。

    rectObject=object.getBoundingClientRect();

    2.返回值类型:TextRectangle对象,每个矩形具有四个整数性质( 上, 右 , 下,和左 )表示的坐标的矩形,以像素为单位。

     rectObject.top:元素上边到视窗上边的距离;

     rectObject.right:元素右边到视窗左边的距离;

     rectObject.bottom:元素下边到视窗上边的距离;

     rectObject.left:元素左边到视窗左边的距离;

    示图:

    3. 兼容性:我用ie11的Document Mode模式测试,ie5以上都能支持。

    相关文章

      网友评论

          本文标题:JS

          本文链接:https://www.haomeiwen.com/subject/vzlhmftx.html