前言
javascript和jQuery在前端开发中发挥着巨大的作用,在面试的过程中这也是不可缺少的话题吧!故搜集了一些面试会遇到的问题,与大家共享!
JavaScript部分
- 下面代码什么会被打印在控制台上?
(function(){
var a = b = 5;
})();
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中的document.ready()有什么区别?
document.ready()函数在页面DOM元素加载完以后就会被调用,而onload()函数则要在所有的关联资源(包括图像、音频)加载完毕之后才会被调用。
我们可以在页面中使用多个document.ready(),但只能使用一次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”里面的内容,在掌握好理论的基础上去实践。