jQuery测试题及答案

一、单选:

        1, var obj1 = { a: 'bb', b: 'cc' };var obj2 = { a: 'dd', c: 'ee' };var obj = $.extend(true, obj1, obj2); 则obj = _ __;  

        Obj1 = ___; obj2 = ___答案 ( C );

        正确答案:A;

        A, { a: "dd", b: "cc", c: "ee" }  { a: "dd", b: "cc", c: "ee" } { a: "dd", c: "ee" }

        B, { a: "dd", c: "ee" }  { a: "dd", b: "cc", c: "ee" } { a: "dd", b: 'cc', c: "ee" }

        C, { a: "bb", b: "cc", c: "ee" }  { a: "dd", b: "cc" } { a: "dd", c: "ee" }

        D, { a: "bb", b: "cc", c: "ee" }  { a: "dd", b: "cc"} { a: "dd", b: 'cc', c: "ee" }

 

        2,关于jQuery中删除已有元素的方法及区别()

        正确答案:A

A;empty()从被选元素中删除子元素

remove()删除被选元素(同样删除其子元素)

        A,empty()从被选元素中删除子元素

        B,remove()删除被选元素(不会删除其子元素)

        C,remove()从被选元素中删除子元素

        D,empty()删除被选元素及其子元素

 

        

        

        二、多选:

        1,在jQuery中,返回元素内容宽高下列描述正确的是:

        正确答案:AC

1,Width()--width   

2,innerwidth-- width + padding  

3,outerwidth---width + padding + border  

4,outerwidth(true)---width + padding + border + margin

        A,width()方法设置或返回元素的宽度(不包括内边距、边框或外边距)

        B,height()方法设置或返回元素的高度(包括内边距、边框或外边距)

        C,innerwidth() 方法设置或返回元素的宽度(包括内边距)

        D,innerheight() 方法设置或返回元素的高度(不包括内边距、边框或外边距)

 

 

 

        3,jQuery中遍历节点的方法,错误的是

        正确答案:CD

        A,next() 取得匹配元素后面紧邻的同辈元素

        B,prev() 取得匹配元素前面紧邻的同辈元素

取得匹配元素的所有同辈元素

        C,siblings() 取得匹配元素前的所有同辈元素

        D,closest() 取得元素紧邻的后一个元素匹配

closest(‘div’) 方法获得匹配选择器的第

一个祖先元素,从当前元素开始沿DOM树向上

 

 

        三、填空:

        1,jQuery特点有1,____ 2,___,在其源码中通过3,_____方式封闭作用域,防止变量污染,那么我们又能通过调用jQuery()或$()访问到jQuery是因为4____把函数暴漏在5,____上(提示4,空填一句代码)

           正确答案:1,无new构造 2,链式调用,3,立即执行函数 4,window.jQuery = window.$ = jQuery 5,window

        2,jQuery中有哪些类型得选择器,写出你掌握得几种___;(三种以上)

           正确答案:$('ul li.active')  标签选择器  $('.class') class选择器  $('#id') id选择器 等

 

       

 

四、简答:

        1,相比于原生js,使用jquery的好处?

          答:Query是轻量级的框架,大小不到30kb,它有强大的选择器,出色的DOM操作的封装,有可靠的事件处理机制(jQuery在处理事件绑定的时候相当的可靠),完善的ajax(它的ajax封装的非常的好,不需要考虑复杂浏览器的兼容性和XMLHttpRequest对象的创建和使用的问题。) 出色的浏览器的兼容性。而且支持链式操作,隐式迭代。行为层和结构层的分离,还支持丰富的插件,jquery的文档也非常的丰富。

        2,封装插件的好处?如果你现在要封装一个插件,比如翻页插件,你的要怎么做,需要注意哪些地方?(可以简略代码配合文字说明,需写出主要调用jquery中的方法)

 

          插件的好处:对已有的一系列方法或函数的封装,以便在其他地方重新利用,方便后期维护和提高开发效率  

i. 1.插件的文件名推荐命名为jquery.[插件名].js,以免和其他的javaScript库插件混淆

        ii. 2.所有的对象方法都应当附加到jQuery.fn对象上,而所有的全局函数都应当附加到jQuery对象本身上

        iii. 3.插件应该返回一个jQuery对象,以保证插件的可链式操作

        v. 5.所有的方法或函数插件,都应当以分号结尾,否则压缩的时候可能出现问题。在插件头部加上分号,这样可以避免他人的不规范代码给插件带来影响

 

        vi. 6.在插件中通过$.extent({})封装全局函数,选择器插件,扩展已有的object对象通过$.fn.extend({})封装对象方法插件

3.子元素选择器和后代选择器元素有什么区别?

答:子代元素是找子节点下的所有元素,后代元素是找子节点或子节点的子节点的元素

4, $(document).ready()方法和window.onload有什么区别?

答: 两个方法有相似的功能,但是在实行时机方面是有区别的。

1 window.onload方法是在网页中所有的元素(包括元素的所有关联文件)完全加载到浏览器后才执行的。

2 $(document).ready() 方法可以在DOM载入就绪时就对其进行操纵,并调用执行绑定的函数。

5.$(this) 和 this 关键字在 jQuery 中有何不同?(答案如下)

答:$(this) 返回一个 jQuery 对象,你可以对它调用多个 jQuery 方法,比如用 text() 获取文本,用val() 获取值等等。而 this 代表当前元素,它是 JavaScript 关键词中的一个,表示上下文中的当前的原生DOM 元素。你不能对它调用 jQuery 方法,直到它被 $() 函数包裹,例如 $(this)。

6.1: function test() {

            2:    console.log(a);

            3:    console.log(foo());

            4:    var a = 1;

            5:    function foo() {

            6:    return 2;

            7:    }

            8: }

            9:

            10: test();

上面这段代码输出什么?

答案:undefined和2

 

猜你喜欢

转载自blog.csdn.net/qq_37746973/article/details/81215271