日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

前端javascript知识(二)

發(fā)布時間:2023/11/29 javascript 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 前端javascript知识(二) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
  • documen.write和 innerHTML的區(qū)別 document.write只能重繪整個頁面 innerHTML可以重繪頁面的一部分
  • 瀏覽器檢測通過什么? (1) navigator.userAgent (2) 不同瀏覽器的特性,如addEventListener
  • JavaScript有哪幾種數(shù)據(jù)類型? 簡單,Number,Boolean,String,Null,Undefined 復(fù)合,Object,Array,Function
  • 截取字符串“abcdefghi”的“fghi” var myvalue=”abcdefghi”; var jiequ=myvalue.substring(myvalue.length-4,myvalue.length); alert(jiequ); -寫出下面的運算結(jié)果 alert(typeof(null)); // object alert(typeof(undefined)); // undefined alert(typeof(NaN)); // number alert(NaN==undefined); // false alert(NaN==NaN); // false var str="123abc"; alert(typeof(str++)); // number alert(str);// NaN
  • 問執(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來阻止而FF下需要用stopPropagation方法evt.stopPropagation ?evt.stopPropagation() : (evt.cancelBubble=true); }
  • 寫出程序運行的結(jié)果? for(var i=0, j=0; i<10, j<6; i++, j++){k = i + j; } 10
  • 編寫一個方法 求一個字符串的字節(jié)長度 /*假設(shè):一個英文字符占用一個字節(jié),一個中文字符占用兩個字節(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中如何對一個對象進(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”);
  • 請編寫一個JavaScript函數(shù) parseQueryString,它的用途是把URL參數(shù)解析為一個對象,如:
    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)頁在網(wǎng)絡(luò)傳輸過程中的數(shù)據(jù)量? 啟用GZIP壓縮 保持良好的編程習(xí)慣,避免重復(fù)的CSS,JavaScript代碼,多余的HTML標(biāo)簽和屬性
  • 以下代碼運行結(jié)果 function say() {// Local variable that ends up within closurevar num = 888;var sayAlert = function() { alert(num); }num++;return sayAlert; } var sayAlert = say(); sayAlert();//889
  • 請實現(xiàn)ECMAScript 5中的Object.getPrototypeOf() 函數(shù) function proto(object) {return !object? null: '__proto__' in object? object.__proto__: /* not exposed? */ object.constructor.prototype }
  • 如何實現(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);
  • 以下程序運行結(jié)果? var ninja = function myNinja(){alert(ninja == myNinja); }; ninja(); myNinja(); true、報錯(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-alignname = name.toLowerCase();var s = document.defaultView.getComputedStyle(elem, "");return s && s.getPropertyValue(name);}else{return null;} }
  • Javascript中實現(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; }
  • 以下程序運行結(jié)果? var b = parseInt("01"); alert("b="+b); var c = parseInt("09/08/2009"); alert("c="+c); b=1、c=0。
  • 以下程序的運行結(jié)果? var foo = 'hello'; (function() {var foo= foo || 'world';console.log(foo); })(); world
  • 如何規(guī)避javascript多人開發(fā)函數(shù)重名問題? (1) 可以開發(fā)前規(guī)定命名規(guī)范,根據(jù)不同開發(fā)人員開發(fā)的功能在函數(shù)前加前綴 (2) 將每個開發(fā)人員的函數(shù)封裝到類中,調(diào)用的時候就調(diào)用類的函數(shù),即使函數(shù)重名只要類名不重復(fù)就行
  • 前端開發(fā)有哪些優(yōu)化問題? 減少http請求次數(shù):cssspirit,data uri JS,CSS源碼壓縮 前端模板JS+數(shù)據(jù),減少由于HTML標(biāo)簽導(dǎo)致的帶寬浪費,前端用變量保存AJAX請求結(jié)果,每次操作本地變量,不用請求,減少請求次數(shù) 用innerHTML代替DOM操作,減少DOM操作次數(shù),優(yōu)化javascript性能 用setTimeout來避免頁面失去響應(yīng) 用hash-table來優(yōu)化查找 當(dāng)需要設(shè)置的樣式很多時設(shè)置className而不是直接操作style 少用全局變量 緩存DOM節(jié)點查找的結(jié)果 避免使用CSS Expression 圖片預(yù)載 避免在頁面的主體布局中使用table,table要等其中的內(nèi)容完全下載之后才會顯示出來,顯示比div+css布局慢
  • AJAX請求總共有多少種CALLBACK Ajax請求總共有八種Callback onSuccess onFailure onUninitialized onLoading onLoaded onInteractive onComplete onException
  • 請給出異步加載js方案,不少于兩種 異步加載方式: defer,只支持IE async: 創(chuàng)建script,插入到DOM中,加載完畢后callBack,見代碼: function loadScript(url, callback){var script = document.createElement("script")script.type = "text/javascript";if(script.readyState){ //IEscript.onreadystatechange = function(){if (script.readyState == "loaded" ||script.readyState == "complete"){script.onreadystatechange = null;callback();}};} else { //Others: Firefox, Safari, Chrome, and Operascript.onload = function(){callback();};}script.src = url;document.body.appendChild(script); }

轉(zhuǎn)載于:https://www.cnblogs.com/wu-web/p/7852584.html

總結(jié)

以上是生活随笔為你收集整理的前端javascript知识(二)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。