天天看點

常見面試題目(6)

1、下面代碼的輸出結果是?

var a, b;
			(function(){
				console.log(a,'1');
				console.log(b,'2');
				var a=b=3;
				console.log(a,'3');
				console.log(b,'4');
			})();
			console.log(a,'5');
			console.log(b,'6');           

結果:undefined,undefined,3,3,undefined,3;

var a, b;
			(function() {
				console.log(a, '1');
				console.log(b, '2');
				var a = 3,
					b = 3;
				console.log(a, '3');
				console.log(b, '4');
			})();
			console.log(a, '5');
			console.log(b, '6');           

結果:undefined,undefined,3,3,undefined,undefined;

2、$('.item').click()和$(document).on('click','.item',function(){})的差別。

當選中的選擇器被點選時觸發回調函數fn。隻針對與頁面已存在的選擇器,對動态建立的元素無效。

on方法包含很多事件,點選,輕按兩下等等事件。和$().click()的用法一樣,最大的差別即優點是如果動态建立的元素在該選擇器選中範圍内是能觸發回調函數。

3、阻止事件冒泡和事件委托的方法:

A:return false。 在事件的進行中,可以阻止預設事件和冒泡事件。

B:event.preventDefault()。  在事件的進行中,可以阻止預設事件但是允許冒泡事件的發生。

C:event.stopPropagation()。在事件的進行中,可以阻止冒泡事件但是允許預設事件的發生。

4、什麼是單頁面應用?

就是指一個系統隻加載一次資源,之後的操作互動、資料互動是通過路由、ajax來進行,頁面并沒有重新整理。

5、JavaScript 中 var 和 let 和 const 關鍵字的差別

JavaScript 的世界共有兩種作用域:全局作用域和方法作用域。使用 var 聲明的變量的作用域是方法作用域。var 變量關鍵字的真正問題在于其在方法内部的定義變量開始的任何地方都可以通路到這個變量。

var 和 let 第一點不同就是 let 是塊作用域。let 和 var 的第二點不同是,在變量聲明之前就通路變量的話,會直接提示 ReferenceError,而不像 var 那樣使用預設值 undefined。