Web前端5道面试题
1.请说明ECMAScript,JavaScript,Jscript之间的关系?ECMAScript提供脚本语言必须遵守的规则、
细节和准则,是脚本语言的规范。
比如:ES5,ES6就是具体的一js版本。
JavaScript是ECMAScript的一个分支版本,
JavaScript实现了多数ECMA-262中
描述的ECMAScript规范,但存在少数差异。
JScript是微软公司对ECMA-262语言规范的
一种实现,除了少数例外(这是为了保持向后兼容),
微软公司宣称JScript完全实现了ECMA标准.
关系:
JavaScript和JScript都是ECMAScript的版本分支,
二者在语法上没有多大的区别;
只不过一个是NetScape公司的,一个是微软的;
IE系列默认是JScript,其它的则反之用JavaScript。
2.页面加载过程中可能触发哪些事件?它们的顺序是?
页面加载时,大致可以分为以下几个步骤:1)开始解析HTML文档结构2)加载外部样式表及JavaScript脚本3)解析执行JavaScript脚本4)DOM树渲染完成5)加载未完成的外部资源6)页面加载成功
执行顺序:1)documentreadystatechange事件2)documentDOMContentLoaded事件3)windowload事件
3.函数中在声明变量a前使用a会产生错误吗?为什么?
不会,JS中能够进行变量作用域提升,
把所有变量、函数的声明提升到当前
作用域的最前面,但不进行赋值操作;
所以可能造成获取的值是undefined。
4.什么是hash,以及hashchange事件?
先了解下什么是hash:hash即URL中"#"字符后面的部分。
a)使用浏览器访问网页时,
如果网页URL中带有hash,
页面就会定位到id(或name)
与hash值一样的元素的位置;
b)hash还有另一个特点,
它的改变不会导致页面重新加载;
c)hash值浏览器是不会随请求发送到服务器端的;
d)通过window.location.hash属性获取和设置hash值。
window.location.hash值的变化会直接
反应到浏览器地址栏(#后面的部分会发生变化),同时,浏览器地址栏hash值的变化也会触发
window.location.hash值的变化,
从而触发onhashchange事件。
再来了解下什么是hashchange事件:
a)当URL的片段标识符更改时,
将触发hashchange事件(跟在#符号后面的URL部分,包括#符号)b)
hashchange事件触发时,
事件对象会有hash改变前的URL(oldURL)和hash改变后的URL(newURL)两个属性。
5.什么是CDN,CDN对于网站有什么意义,它有什么样的缺点?
CDN又称为内容分发网络;本意在于
尽可能避开互联网上有可能影响数据
传输速度和稳定性的瓶颈和环节,
使内容传输的更快、更稳定。
主要目的:
解决因分布、带宽、服务器性能带来的访问延迟问题,
适用于站点加速、点播、直播等场景。
使用户可就近取得所需内容,解决Internet网络拥挤的状况,
提高用户访问网站的响应速度和成功率。
缺点:
a)实施复杂,投资大;
b)目前大部分的CDN还只是对静态内容加速,
对动态加速效果不好;
而双线对动态加速的效果跟静态是一样的。
绛旓細鏁版嵁椹卞姩锛堣鍥剧殑鍐呭闅忕潃鏁版嵁鐨勬敼鍙樿屾敼鍙橈級缁勪欢鍖栵紙澧炲姞浠g爜鐨勫鐢ㄦэ紝鍙淮鎶ゆэ紝鍙祴璇曟э紝鎻愰珮寮鍙戞晥鐜囷紝鏂逛究閲嶅浣跨敤锛屼綋鐜颁簡楂樺唴鑱氫綆鑰﹀悎锛2.璇风畝杩颁綘瀵箆ue鐨勭悊瑙 Vue鏄竴濂楁瀯寤虹敤鎴风晫闈㈢殑娓愯繘寮忚嚜搴曞悜涓婂閲忓紑鍙戠殑MVVM妗嗘灦锛屾牳蹇冩槸鍏虫敞瑙嗗浘灞傦紝vue鐨勬牳蹇冩槸涓轰簡瑙e喅鏁版嵁鐨勭粦瀹闂锛屼负浜嗗紑鍙戝ぇ鍨嬪崟...
绛旓細鍦ㄨ繘琛Web鍓嶇鐨勭數璇闈㈣瘯鏃讹紝浠ヤ笅鏄垜浣滀负闈㈣瘯瀹樺彲鑳戒細鎻愬嚭鐨闂锛1. 鑷垜浠嬬粛锛氳繖鏄潰璇曠殑鍩烘湰鐜妭锛岄氳繃绠鐭殑鑷垜浠嬬粛锛屾垜鍙互鍒濇浜嗚В搴旇仒鑰呯殑娌熼氳兘鍔涘拰涓汉鑳屾櫙锛屽苟褰㈡垚绗竴鍗拌薄銆2. 涓撲笟鎬ч棶棰橈細濡傛灉闈㈣瘯鐨勫紑濮嬮儴鍒嗚繘琛屽緱姣旇緝椤哄埄锛屾垜浼氳繘鍏ヤ笅涓涓幆鑺傦紝鍗虫彁鍑轰笓涓氭ч棶棰橈紝浠ヨ瘎浼板簲鑱樿呯殑涓撲笟姘村钩...
绛旓細鍓嶉潰鐨勯棶棰樹綘鍙兘鍙互閫氳繃璁板繂鑰岃繃鍏筹紝浣犲彲鑳借繕浼氶亣鍒拌繖浜涢棶棰樼殑鎵╁厖濂椾欢锛屼絾杩欎簺绛旀鐨勬繁搴︼紝灏嗚浣犱笌浼椾笉鍚屻傞氳繃浣犲弬涓庤繃鐨勫疄闄呬笓妗堬紝鏉ュ睍绀轰綘鐨勬濊冭繃绋嬨web鍓嶇jquery闈㈣瘯棰鏈夊摢浜 甯歌鐨勫嚑涓涓嬶細浠栦滑鐨勭瓟妗堝彲浠ョ櫨搴︽悳銆 1. jQuery 搴撲腑鐨 $() 鏄粈涔堬紵 2. 缃戦〉涓婃湁 5 涓 鍏冪礌锛屽浣...
绛旓細2.3鍍忕礌闂 浣跨敤float寮曡捣鐨 浣跨敤dislpay:inline -3px 3.瓒呴摼鎺over 鐐瑰嚮鍚庡け鏁 浣跨敤姝g‘鐨勪功鍐欓『搴 link visited hover active 4.Ie z-index闂 缁欑埗绾ф坊鍔爌osition:relative 5.Png 閫忔槑 浣跨敤js浠g爜 鏀 6.Min-height 鏈灏忛珮搴 锛両mportant 瑙e喅鈥7.select 鍦╥e6涓嬮伄鐩 浣跨敤iframe宓屽 8.涓轰粈涔...
绛旓細鍦ㄥ綋鍓嶆嫑鑱樺競鍦轰腑锛屽井淇″皬绋嬪簭鐨勯渶姹傛椇鐩涳紝涓撻棬鐨勫皬绋嬪簭鍓嶇鑱屼綅涔熷父瑙併傚洜姝わ紝鎴戞暣鐞嗕簡閮ㄥ垎灏忕▼搴闈㈣瘯鐨勫父瑙闂锛屼緵姹傝亴鑰呭弬鑰冦1. 寰俊灏忕▼搴忓熀纭灏忕▼搴忕殑甯冨眬鍜屾牱寮忎互view涓轰富锛岀被浼糎TML鐨刣iv锛屽悓鏃舵彁渚涗簡scroll-view锛屽彲鐏垫椿鎺у埗婊氬姩銆俛pp.json涓巃pp.js鍏卞悓鏋勬垚灏忕▼搴忕殑鏍稿績锛屽墠鑰呴厤缃叏灞淇℃伅锛屽悗鑰...
绛旓細鍦╒ue鍓嶇寮鍙戜腑锛孷uex鐨勯珮绾闈㈣瘯闂娑夊強鍒颁簡鏁版嵁鎸佷箙鍖栥佹暟鎹幏鍙栥佺姸鎬佺鐞嗗師鐞嗐佹ā鍧楀寲鏁版嵁绠$悊浠ュ強璺敱閰嶇疆鍜屽畧鍗備互涓嬫槸瀵硅繖浜涢棶棰樼殑绠瑕佹杩:1. 鏁版嵁涓㈠け闂锛歏uex鐘舵佸彲浠ラ氳繃vuex-persistedstate鎻掍欢瑙e喅锛岄氳繃缂撳瓨澶囦唤state骞跺悓姝ユ洿鏂帮紝椤甸潰鍒锋柊鏃朵粠缂撳瓨鎭㈠鏁版嵁銆2. 鏁版嵁鑾峰彇锛氳幏鍙朧uex涓殑鏁版嵁锛...
绛旓細浠婂ぉ灏忕紪瑕佽窡澶у鍒嗕韩鐨勬枃绔犳槸鍏充簬2020骞Web鍓嶇闈㈣瘯棰姹囨汇傜敱浜庡唴瀹硅緝澶氬皬缂栧垎寮涓哄ぇ瀹朵粙缁嶏紝浠婂ぉ棣栧厛鏉ュ拰灏忕紪涓璧风湅涓鐪嬬涓閮ㄥ垎鐨勫唴瀹癸紝甯屾湜杩欎簺闈㈣瘯棰樿兘澶熷姝e噯澶囨壘Web鍓嶇鐩稿叧宸ヤ綔鐨勫皬浼欎即浠湁鎵甯姪銆1.璇村嚑鏉″啓JavaScript鐨勫熀鏈鑼?1)涓嶈鍦ㄥ悓涓琛屽0鏄庡涓彉閲;2)璇蜂娇鐢===/!==鏉ユ瘮杈僼rue/...
绛旓細浠ヤ笅鏄鍓嶇灏忕▼搴闈㈣瘯涓父琚棶鍒扮殑15涓叧閿煡璇嗙偣鍙婂叾绠浠嬶細1. 鑾峰彇鐢ㄦ埛鎺堟潈淇℃伅锛氭秹鍙婄敤鎴烽殣绉佹潈闄愮殑绠$悊2. 鏁版嵁缁戝畾锛氬疄鐜拌鍥句笌鏁版嵁鐨勫疄鏃跺悓姝3. 鍒楄〃娓叉煋锛氬姩鎬佺敓鎴愬拰绠$悊鍒楄〃鍐呭4. 浜嬩欢鍙婄粦瀹氾細鐢ㄦ埛浜や簰鐨勬牳蹇冮昏緫5. 椤甸潰璺宠浆锛氬鑸笌璺敱绠$悊6. tabBar 閰嶇疆锛氬鑸爮缁勪欢鐨勮缃7. 椤甸潰鐢熷懡鍛ㄦ湡锛...
绛旓細鍓嶇绠楁硶闈㈣瘯棰鍏ㄦ柟浣嶈В鏋</ 鍓嶇寮鍙戣呯殑绠楁硶涔嬭矾骞堕潪鏄撲簨锛屼絾閫氳繃绮惧績鍑嗗锛屾帉鎻¤繖浜涙牳蹇冮潰璇曢灏嗗姪浣犺劚棰栬屽嚭銆傝鎴戜滑涓璧锋帰绱66涓粡鍏哥畻娉曢棶棰橈紝瀹冧滑娑电洊浜嗕粠鍩虹鏁版嵁缁撴瀯鍒伴珮绾ч昏緫鐨勫箍娉涢鍩燂紝鍔╀綘鏌ユ紡琛ョ己锛屾彁鍗囨妧鏈疄鍔涳細浜岀淮鏌ユ壘</锛氬姣擮(n)鍜孫(n^2)鏁堢巼锛岀悊瑙g┖闂存崲鏃堕棿鐨勭瓥鐣ャ傛浛鎹㈢┖鏍...
绛旓細HTML+CSS 1.瀵WEB鏍囧噯浠ュ強W3C鐨勭悊瑙d笌璁よ瘑 鏍囩闂悎銆佹爣绛惧皬鍐欍佷笉涔卞祵濂椼佹彁楂樻悳绱㈡満鍣ㄤ汉鎼滅储鍑犵巼銆佷娇鐢ㄥ 閾綾ss鍜宩s鑴氭湰銆佺粨鏋勮涓鸿〃鐜扮殑鍒嗙銆佹枃浠朵笅杞戒笌椤甸潰閫熷害鏇村揩銆佸唴瀹硅兘琚洿澶氱殑鐢ㄦ埛鎵璁块棶銆佸唴瀹硅兘琚洿骞挎硾鐨勮澶囨墍璁块棶銆佹洿灏戠殑浠g爜鍜岀粍浠讹紝瀹规槗缁 鎶ゃ佹敼鐗堟柟渚匡紝涓嶉渶瑕佸彉鍔ㄩ〉闈㈠唴瀹广佹彁渚涙墦鍗...