JavaScript和jQuery常见⾯试题
前⾔
  javascript和jQuery在前端开发中发挥着巨⼤的作⽤,在⾯试的过程中这也是不可缺少的话题吧!故搜集了⼀些⾯试会遇到的问题,与⼤家共享!
JavaScript部分
下⾯代码什么会被打印在控制台上?
(function(){
var a = b = 5;
})();
jquery在一个元素后追加标签console.log(b);
  上⾯的代码会打印出5,拆解函数变量赋值过程如下:
b = 5;
var a =b;
  所以b成了全局变量,⽽a是函数的⼀个局部变量。
执⾏这段代码,输出什么结果?
function test() {
console.log(a);
console.log(foo());
var a = 1;
function foo(){
return 2;
}
}
test();
  代码的结果是:undefined和2;执⾏过程如下:
function test(){
var a;
function foo(){
return 2;
}
console.log(a);
console.log(foo());
a = 1;
}
test();
  变量a声明但是没有进⾏赋值,所以是undefined;调⽤函数返回结果2。
javascript是⾯向对象的,怎么体现JavaScript的继承关系?
  使⽤prototype实现。
JS中的3种弹出式消息提醒的命令是什么?
  alert—警告窗⼝
  confirm—确认窗⼝
  prompt—信息输⼊窗⼝
innerHTML,innerText,outerHTML,outerText的区别:
  innerHTML与outerHTML在设置对象的内容时包含的HTML会被解析,⽽innerText与outerText则不会;
  在设置时,innerHTML与innerText仅设置标签内的⽂本,⽽outerHTML与outerText设置包括标签在内的⽂本。
什么是NaN?
  NaN是Not a Number的缩写,JavaScript的⼀种特殊数值,其类型是Number,可以通过isNaN(param)来判断⼀个值是否是NaN:
console.log(isNaN(NaN));          //true
console.log(isNaN(23));          //false
console.log(NaN === NaN);    //false
console.log(NaN === undefined);        //false
console.log(undefined === undefined);      //true
console.log(NaN == NaN);      //false
console.log(typeof NaN);          //number
jQuery部分
jQuery的美元符号$有什么作⽤
  美元符号$是“jQuery”的别名,它是jQuery的选择器,如下:
$(document).ready(function(){                //其中可以⽤jQuery代替$
});
  在jQuery中,可以通过这个美元符号实现各种灵活的DOM元素选择,例如$("#main")既“选中id为main的元素”。
body中的onload()函数和jQuery中的ady()有什么区别?
  ady()函数在页⾯DOM元素加载完以后就会被调⽤,⽽onload()函数则要在所有的关联资源(包括图像、⾳频)加载完毕之后才会被调⽤。
  我们可以在页⾯中使⽤多个ady(),但只能使⽤⼀次onload()。
使⽤jQuery将页⾯上的所有元素边框设置为2px宽的红⾊的虚线
<script language="javascript" type="text/javascript">
$("*").css("border","2px dotted red");
</script>
jQuery中$.get()提交和$.post()提交有区别吗?
  $.get()⽅法使⽤get⽅法来进⾏异步请求的,$.post()⽅法使⽤post⽅法来进⾏异步请求的;
  get请求会将参数跟在URL后进⾏传递,⽽post请求则是作为HTTP消息的实体内容发送给Web服务器的;
  get⽅式传输的数据⼤⼩不能超过2KB,⽽post要⼤得多;
  get⽅式的请求的数据会被浏览器缓存起来,因此有安全问题。
jQuery中如何去操作样式?
  addClass()追加样式;
  removeClass()删除样式;
  toggleClass()切换样式。
总结
  这只是⼀部分内容,详细的⼤家可以学习⼀下“W3School”⾥⾯的内容,在掌握好理论的基础上去实践。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。