国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > JavaScript > 正文

前端開發(fā)面試題總結(jié)之——JAVASCRIPT(二)

2019-11-08 02:28:26
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

http://www.jianshu.com/p/1a20dac12cf6

相關(guān)知識(shí)點(diǎn)

數(shù)據(jù)類型、運(yùn)算、對(duì)象、function、繼承、閉包、作用域、原型鏈、事件、RegExp、JSON、Ajax、DOM、BOM、內(nèi)存泄漏、跨域、異步加載、模板引擎、前端MVC、前端MVVM、路由、模塊化、Http、Canvas、jQuery、ECMAScript 2015(ES6)、Node.js、AngularJS、Vue、React......

題目&答案

documen.write和 innerHTML的區(qū)別(1) navigator.userAgent(2) 不同瀏覽器的特性,如addEventListenerjavaScript有哪幾種數(shù)據(jù)類型?簡(jiǎn)單,Number,Boolean,String,Null,Undefined復(fù)合,Object,Array,F(xiàn)unction截取字符串“abcdefghi”的“fghi”var myvalue=”abcdefghi”;var jiequ=myvalue.substring(myvalue.length-4,myvalue.length);alert(jiequ);-寫出下面的運(yùn)算結(jié)果alert(typeof(null)); // objectalert(typeof(undefined)); // undefinedalert(typeof(NaN)); // numberalert(NaN==undefined); // falsealert(NaN==NaN); // falsevar str="123abc";alert(typeof(str++)); // numberalert(str);// NaN問(wèn)執(zhí)行完畢后 x, y, z 的值分別是多少?var x = 1, y = z = 0;function add(n) { n = n+1;}y = add(x);function add(n) { n = n + 3;}z = add(x);1、undefined、undefined如何阻止事件的冒泡?//阻止冒泡的方法function stopPP(e){ var evt = e|| window.event; //IE用cancelBubble=true來(lái)阻止而FF下需要用stopPRopagation方法 evt.stopPropagation ?evt.stopPropagation() : (evt.cancelBubble=true);}寫出程序運(yùn)行的結(jié)果?for(var i=0, j=0; i<10, j<6; i++, j++){ k = i + j;}10編寫一個(gè)方法 求一個(gè)字符串的字節(jié)長(zhǎng)度/*假設(shè):一個(gè)英文字符占用一個(gè)字節(jié),一個(gè)中文字符占用兩個(gè)字節(jié)*/function getBytes(str){ var len = str.length, bytes = len, i = 0; for(; i<len; i++){ if (str.charCodeAt(i) > 255) bytes++; } return bytes;}alert(getBytes("玩,as"));Javascript中如何對(duì)一個(gè)對(duì)象進(jìn)行深度clone?function cloneObject(o) { if(!o || 'object' !== typeof o) { return o; } var c = 'function' === typeof o.pop ? [] : {}; var p, v; for(p in o) { if(o.hasOwnProperty(p)) { v = o[p]; if(v && 'object' === typeof v) { c[p] = Ext.ux.clone(v); } else { c[p] = v; } } } return c;};如何控制alert中的換行?/n alert(“p/np”);請(qǐng)編寫一個(gè)JavaScript函數(shù) parseQueryString,它的用途是把URL參數(shù)解析為一個(gè)對(duì)象,如:var url = “http://witmax.cn/index.php?key0=0&key1=1&key2=2″;function parseQueryString(url){ var params = {}, arr = url.split("?"); if (arr.length <= 1) return params; arr = arr[1].split("&"); for(var i=0, l=arr.length; i<l; i++){ var a = arr[i].split("="); params[a[0]] = a[1]; } return params;}var url = "http://witmax.cn/index.php?key0=0&key1=1&key2=2", ps = parseQueryString(url);console.log(ps["key1"]);如何控制網(wǎng)頁(yè)在網(wǎng)絡(luò)傳輸過(guò)程中的數(shù)據(jù)量?function say() { // Local variable that ends up within closure var num = 888; var sayAlert = function() { alert(num); } num++; return sayAlert;}var sayAlert = say();sayAlert();//889請(qǐng)實(shí)現(xiàn)ECMAScript 5中的Object.getPrototypeOf() 函數(shù)function proto(object) { return !object? null : '__proto__' in object? object.__proto__ : /* not exposed? */ object.constructor.prototype}如何實(shí)現(xiàn)Array.prototype.forEach?if (!Array.prototype.forEach) { Array.prototype.forEach = function(fn){ for ( var i = 0; i < this.length; i++ ) { fn( this[i], i, this ); } };}["a", "b", "c"].forEach(function(value, index, array){ assert( value, "Is in position " + index + " out of " + (array.length - 1) );});如何將arguments轉(zhuǎn)為數(shù)組?Object.prototype.slice.call(arguments);以下程序運(yùn)行結(jié)果?var ninja = function myNinja(){ alert(ninja == myNinja);};ninja();myNinja();true、報(bào)錯(cuò)(error - myNinja is not defined.)如何獲取光標(biāo)的水平位置?function getX(e){ e = e || window.event; //先檢查非IE瀏覽器,在檢查IE的位置 return e.pageX || e.clentX + document.body.scrollLeft;}兼容瀏覽器的獲取指定元素(elem)的樣式屬性(name)的方法function getStyle(elem, name){ if(elem.style[name]){//如果屬性存在于style[]中,直接取 return elem.style[name];}else if(elem.currentStyle){//否則 嘗試IE的方法 return elem.currentStyle[name];}//嘗試W3C的方式else if(document.defaultView && document.defaultView.getComputedStyle){ name = name.replace(/([A-Z])/g, "-$1");//W3C中為textAlign樣式,轉(zhuǎn)為text-align name = name.toLowerCase(); var s = document.defaultView.getComputedStyle(elem, ""); return s && s.getPropertyValue(name); }else{ return null; }}Javascript中實(shí)現(xiàn)類似PHP的print_r函數(shù)function print_r(theObj) { var retStr = ''; if(typeof theObj == 'object') { retStr += '<div style="font-family:Tahoma; font-size:7pt;">'; for(var p in theObj) { if (typeof theObj[p] == 'object') { retStr += '<div><b>['+p+'] => ' + typeof(theObj) + '</b></div>'; retStr += '<div style="padding-left:25px;">' + print_r(theObj[p]) + '</div>'; } else { retStr += '<div>['+p+'] => <b>' + theObj[p] + '</b></div>'; } } retStr += '</div>'; } return retStr;}以下程序運(yùn)行結(jié)果?var b = parseInt("01");alert("b="+b);var c = parseInt("09/08/2009");alert("c="+c);b=1、c=0。以下程序的運(yùn)行結(jié)果?var foo = 'hello';(function() { var foo= foo || 'world'; console.log(foo);})();world如何規(guī)避javascript多人開發(fā)函數(shù)重名問(wèn)題?(1) 可以開發(fā)前規(guī)定命名規(guī)范,根據(jù)不同開發(fā)人員開發(fā)的功能在函數(shù)前加前綴(2) 將每個(gè)開發(fā)人員的函數(shù)封裝到類中,調(diào)用的時(shí)候就調(diào)用類的函數(shù),即使函數(shù)重名只要類名不重復(fù)就行前端開發(fā)有哪些優(yōu)化問(wèn)題?減少http請(qǐng)求次數(shù):CSSspirit,data uriJS,CSS源碼壓縮前端模板JS+數(shù)據(jù),減少由于HTML標(biāo)簽導(dǎo)致的帶寬浪費(fèi),前端用變量保存AJAX請(qǐng)求結(jié)果,每次操作本地變量,不用請(qǐng)求,減少請(qǐng)求次數(shù)用innerHTML代替DOM操作,減少DOM操作次數(shù),優(yōu)化javascript性能用setTimeout來(lái)避免頁(yè)面失去響應(yīng)用hash-table來(lái)優(yōu)化查找當(dāng)需要設(shè)置的樣式很多時(shí)設(shè)置className而不是直接操作style少用全局變量緩存DOM節(jié)點(diǎn)查找的結(jié)果避免使用CSS Expression圖片預(yù)載避免在頁(yè)面的主體布局中使用table,table要等其中的內(nèi)容完全下載之后才會(huì)顯示出來(lái),顯示比div+css布局慢AJAX請(qǐng)求總共有多少種CALLBACKAjax請(qǐng)求總共有八種CallbackonSuccessonFailureonUninitializedonLoadingonLoadedonInteractiveonCompleteonException請(qǐng)給出異步加載js方案,不少于兩種異步加載方式:defer,只支持IEasync:創(chuàng)建script,插入到DOM中,加載完畢后callBack,見(jiàn)代碼:function loadScript(url, callback){ var script = document.createElement("script") script.type = "text/javascript"; if(script.readyState){ //IE script.onreadystatechange = function(){ if (script.readyState == "loaded" ||script.readyState == "complete"){ script.onreadystatechange = null; callback(); } }; } else {//Others: Firefox, Safari, Chrome, and Opera script.onload = function(){ callback(); }; } script.src = url; document.body.appendChild(script);}
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 龙陵县| 贡嘎县| 虞城县| 顺平县| 淳安县| 嘉义县| 衡东县| 龙门县| 醴陵市| 东辽县| 高要市| 金昌市| 辽阳市| 厦门市| 孝昌县| 洮南市| 安徽省| 馆陶县| 诸暨市| 赤城县| 临澧县| 无棣县| 嫩江县| 福泉市| 丹阳市| 房产| 启东市| 鹿泉市| 乐安县| 衡东县| 云浮市| 莱西市| 清流县| 河津市| 修武县| 南和县| 陵川县| 保靖县| 潼关县| 饶河县| 云和县|