JQuery 面试问题

 在求职大军中,IT行业的程序员、码农是工科类**的热门选择之一,尤其是近几年Web的如火如荼,更是吸引了成千上万的程序员投身其中追求自己的梦想,这篇文章以Web面试官的经历整理而成,希望能对你有所帮助。

       jQuery是什么?

       jQuery是javascript编写一个可重用的JavaScript库。

       不使用JQuery设置UI文本的JavaScript代码如下:

  1. document.getElementById("txt1").value = "hello";
复制代码

        用JQuery类库后的的JavaScript代码如下:

  1. $("#txt1").val("Hello");
复制代码

       可见,在使用JQuery类库后的JavaScript代码明显简洁了很多,也更符合IT行业特点:短、平、快。

       jquery与JavaScript的关系,JQuery会取代JavaScript吗?

       JavaScript:是一门Web最流行的脚本语言。

       JQuery: 是一个优秀的Javascript框架。它是轻量级的js库 ,它兼容CSS3,还兼容各种浏览器(IE 6.0+, FF 1.5+, Safari  2.0+, Opera 9.0+)。

       故,jQuery是并不是要取代的JavaScript;使用JQuery使Web开发变得简单。

       如何使用jQuery库?

       从jquery.com下载的jquery.js文件(最新的JQuery版本V1.11.1或V2.1.1)。 jQuery的文件规则,如“jquery-1.4.1.j s”,其中1.4.1是JS文件的版本的版本号。

       在开发Web程序前,需要包含的JavaScript,如图下面的代码:

  1. <script src="file:///C:/jquery-1.11.1.min.js" type="text/javascript"></script>
复制代码

       CDN(内容分发网络)是什么?

       在开发Web页面,考虑最多的问题之一是页面在客户端电脑的响应:时间越短,用户体验越好。

        而制约用户体验的关键因素之一是浏览器下载Web文件大小,包括*.html、图片、*.js、*.css等文件。

       为了最大化复用和节约带宽,故CDN应运而生:其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。其目的是使用户可就近取得所需内容,解决 Internet网络拥挤的状况,提高用户访问网站的响应速度。

       如何使用JQuery CDN?

        推荐使用官方的CDN节点,使用代码如下:

  1. <script src="//code.jquery.com/jquery-1.11.0.min.js"></script> 
  2. <script src="//code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
复制代码

       还有Google提供的JQuery CDN:

  1. <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"> 
  2. </script>
复制代码

       同时微软也提供了JQuery CDN的节点:

  1. <script type="text/javascript" src="http://ajax.microsoft.com/ajax/jquery/jquery-1.9.1.min.js"> 
  2. </script>
复制代码

       如何在CDN网络不可访问情况下,能自动访问网站的JQuery文件?

       一般情况下,CDN网络节点是可靠的。

       但是偶尔也有失灵的时候,故为了提供双保险,可进行判断网络加载CDN失败,则自动加载网站上的JQuery, 示例代码如下:

  1. <script type="text/javascript" src="http:/ajax.microsoft.com/ajax/jquery/jquery-1.9.1.min.js"></script> 
  2. <script type="text/javascript">if (typeof jQuery == 'undefined')  
  3. {  
  4.   document.write(unescape("%3Cscript src='Scripts/jquery.1.9.1.min.js' type='text/javascript'%3E%3C/script%3E"));  
  5. }</script>
复制代码

        同版本的JQuery.js文件和JQuery.min.js有何不同?

       相同:

       这两个文件提供相同的jQuery的功能,即在函数调用上没有区别。

       不同:

       JQuery.js文件,适合让程序员阅读,如下图所示:


       JQuery.min.js文件,通过压缩和删除所有的空格,以节省带宽和空间,使得文件更小,用于网络传输,不适合程序员阅读。


        何时使用jquery.js,何时使用jquery.min.js?

        开发调试场景下:用JQuery.js文件,因为你想调试,能够看到javascript代码。

        生产部署环境下:用JQuery.min.js文件,可减少网络宽度,加快网页加载速度。

        JQuery.vsdoc.js文件是什么?

        *.vsdoc.js文件是用来在微软的开发环境Visual Studio下使用的,方便得获得JQuery的智能感知,当你输入JQuery函授后,会自动提示函数的类型、函数使用说明、函数参数等等。

        如果在VS下用JQuery开发Web程序,则vsdoc.js文件会大大的提高开发效率。


        JQuery的基本语法如何解释?

        jQuery的语法结构可以分为四部分:

       默认情况下,所有Jquery的命令开始以一个“$”符号。

       其次是HTML元素的选择。例如下面是我们通过ID“txt1”选择一个HTML文本框。

       接着由点(.)分隔。这个操作者将分离的元素和该元素的动作(函数)。 

       最后什么样的函数(动作)。

       例如在下面的jQuery代码,我们正在设置的文本值为“Hello world, jQuery”。


        在jQuery中,“$”符号代表什么?

        在JQuery中,“$”符号是一个jQuery的别名,默认的JQuery类库以$开头。

       为何要使用JQuery.noConflict()

        有很多类似JQuery一样的类库,如MooTools, Backbone, Sammy, Cappuccino, Knockout 。这些类库中,有的也使用了$符号,如果同时使用,则会导致命名冲突。

       为了解决这个冲突,需要用到JQuery.noConflict(),这样就不依赖$这个默认符号了。 

       例如:

  1. $.noConflict();  
  2. jQuery("p").text("I am jquery and I am working…");
复制代码

        或者使用别名代替:

  1. var jq = $.noConflict();  
  2. jq("p").text("I am invoked using jquery shortcut…");
复制代码

       请举例说明JQuery的选择器

       选择所有HTML的p元素,并隐藏

  1. $("p").hide();
复制代码

       选择ID为Text1的HTML元素,并赋值

  1. $("#Text1").val("Hello");
复制代码

       选择Class为Text1dHTML元素,并赋值

  1. $(".Text1").val("Hello");
复制代码

       在JQuery中,如何使用document.ready?

       一次完整的HTML DOM加载完成,会触发HTML的“document.ready”事件,而要通过JQuery访问HTML元素,则需要页面的HTML元素加载完成。

       例如:
  1. <script> 
  2.    $("#text1").val("Sometext"); // 报错。因为text1此刻未加载完成,无法访问</script> 
  3. </head> 
  4. <body> 
  5. <input type="text" id="text1" /> 
  6. </body>
复制代码

       而在Ready事件中的可访问HTML元素,例子如下:
  1. <script> 
  2.        $(document).ready(function(){  
  3.            $("#text1").val("Sometext");  
  4.        });</script>
复制代码

        同一个页面中,能否加载多个个document.ready事件?

        可以。

       如何用JQuery对HTML元素事件进行附加?

       下面通过2个例子来说明

       例子1,选择所有的button元素,在其click事件中,对所有p元素进行toggle。
  1. $("button").click(function(){  
  2. $("p").toggle();  
  3. });
复制代码

       例子2,选择ID为p1的元素,在mouseenter事件中,进行alert。

  1. $("#p1").mouseenter(function(){  
  2.   alert("You entered p1!");  
  3. });
复制代码

       如何使用JQuery添加样式(style)?

       使用例子如下:

  1. $("li").filter(".middle").addClass("selected");
复制代码

       css样式内容如下:

  1. <style> 
  2.       .selected { color:red; }</style>
复制代码
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 什么是 jQueryjQuery 是一个 JavaScript 库,它简化了 HTML 文档遍历和操作、事件处理、动画和 Ajax 等常见任务的编程。它是跨浏览器的,并且易于使用。 2. 如何在页面中引入 jQuery? 可以通过 script 标记引入 jQuery 库,例如: ``` <script src="https://code.jquery.com/jquery-3.5.1.min.js"></script> ``` 3. 如何在 jQuery 中选择元素? 可以使用 CSS 选择器来选择元素,例如: ``` $('div') // 选择所有的 div 元素 $('#myId') // 选择 id 为 myId 的元素 $('.myClass') // 选择 class 为 myClass 的元素 ``` 4. 如何在 jQuery 中添加和移除类? 可以使用 addClass() 和 removeClass() 方法来添加和移除类,例如: ``` $('div').addClass('myClass') // 添加 myClass 类 $('div').removeClass('myClass') // 移除 myClass 类 ``` 5. 如何在 jQuery 中隐藏和显示元素? 可以使用 hide() 和 show() 方法来隐藏和显示元素,例如: ``` $('div').hide() // 隐藏所有的 div 元素 $('div').show() // 显示所有的 div 元素 ``` 6. 如何在 jQuery 中处理事件? 可以使用 on() 方法来绑定事件处理程序,例如: ``` $('button').on('click', function() { alert('Button clicked'); }); ``` 7. 如何在 jQuery 中发送 Ajax 请求? 可以使用 ajax() 方法来发送 Ajax 请求,例如: ``` $.ajax({ url: 'http://example.com/data', method: 'GET', success: function(data) { console.log(data); }, error: function(error) { console.log(error); } }); ``` 8. 如何在 jQuery 中执行动画? 可以使用 animate() 方法来执行动画,例如: ``` $('div').animate({ width: '200px' }, 1000); ``` 这将使所有的 div 元素的宽度从当前值变为 200px,动画持续时间为 1 秒。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值