JavaScript和jQuery常见面试题

javascript和jQuery在前端开发中发挥着巨大的作用,在面试的过程中这也是不可缺少的话题吧!故搜集了一些面试会遇到的问题,与大家共享!

JavaScript部分

1.下面代码什么会被打印在控制台上?
(function(){
	var a = b = 5;
})();

console.log(b);

上面的代码会打印出5,拆解函数变量赋值过程如下:

b = 5;
var a =b;

所以b成了全局变量,而a是函数的一个局部变量。

2.执行这段代码,输出什么结果?
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。

3.javascript是面向对象的,怎么体现JavaScript的继承关系?

使用prototype实现。

4.JS中的3种弹出式消息提醒的命令是什么?

alert—警告窗口
confirm—确认窗口
prompt—信息输入窗口

5.innerHTML,innerText,outerHTML,outerText的区别:

innerHTML与outerHTML在设置对象的内容时包含的HTML会被解析,而innerText与outerText则不会;
在设置时,innerHTML与innerText仅设置标签内的文本,而outerHTML与outerText设置包括标签在内的文本。

6.什么是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部分

1.jQuery的美元符号$有什么作用?

美元符号$是“jQuery”的别名,它是jQuery的选择器,如下:

$(document).ready(function(){                //其中可以用jQuery代替$

});

在jQuery中,可以通过这个美元符号实现各种灵活的DOM元素选择,例如$("#main")既“选中id为main的元素”。

2.body中的onload()函数和jQuery中的document.ready()有什么区别?

document.ready()函数在页面DOM元素加载完以后就会被调用,而onload()函数则要在所有的关联资源(包括图像、音频)加载完毕之后才会被调用。
我们可以在页面中使用多个document.ready(),但只能使用一次onload()。

3.使用jQuery将页面上的所有元素边框设置为2px宽的红色的虚线
<script language="javascript" type="text/javascript">
	$("*").css("border","2px dotted red");
</script>
4.jQuery中.get()提交和.post()提交有区别吗?

.get()方法使用get方法来进行异步请求的,.post()方法使用post方法来进行异步请求的;
get请求会将参数跟在URL后进行传递,而post请求则是作为HTTP消息的实体内容发送给Web服务器的;
get方式传输的数据大小不能超过2KB,而post要大得多;
get方式的请求的数据会被浏览器缓存起来,因此有安全问题。

5.jQuery中如何去操作样式?

addClass()追加样式;
removeClass()删除样式;
toggleClass()切换样式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值