中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

javascript小知識(shí)點(diǎn)有哪些-創(chuàng)新互聯(lián)

本篇內(nèi)容主要講解“javascript小知識(shí)點(diǎn)有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“javascript小知識(shí)點(diǎn)有哪些”吧!

創(chuàng)新互聯(lián)公司主要從事網(wǎng)站設(shè)計(jì)、做網(wǎng)站、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)泗洪,十余年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):13518219792
  1. 設(shè)置圖片時(shí)<image scr="" alt="" width="">單設(shè)置一個(gè)長(zhǎng)或?qū)拕t剩下的邊長(zhǎng)按比例自動(dòng)設(shè)置。

  2. 鼠標(biāo)移至圖片上時(shí)變成小手給圖片添加樣式 cursor:pointer;

  3. 阻止表單提交<form action="javascript:;">

  4. 設(shè)置盒子權(quán)重時(shí)在樣式中寫 z-index:數(shù)字越大優(yōu)先級(jí)越高。

  5. id選擇器與類選擇器的區(qū)別:同一個(gè)頁(yè)面中一個(gè)標(biāo)簽只能對(duì)應(yīng)一個(gè)id但是可以選擇多個(gè)類,類也可以應(yīng)用在多個(gè)標(biāo)簽中。

  6. 給a標(biāo)簽的href="javascript:;" 其中javascript:是偽協(xié)議,它可以讓我們通過一個(gè)鏈接來調(diào)用javascript函數(shù).而采用這個(gè)方式 javascript:;可以實(shí)現(xiàn)A標(biāo)簽的點(diǎn)擊事件運(yùn)行時(shí),如果頁(yè)面內(nèi)容很多,有滾動(dòng)條時(shí),頁(yè)面不會(huì)亂跳,用戶體驗(yàn)更好。相當(dāng)于執(zhí)行了一段javascript空代碼,地址不發(fā)生跳轉(zhuǎn)。與這個(gè)相同

  7. 去掉li前面的小點(diǎn)用list-style-type: none;

  8. 使li或span的外形變?yōu)閳A形用border-radius: 50%; 添加圓角邊框。

  9. textarea設(shè)置resize:none;可以防止用戶改變文本框大小。

  10. 想讓盒子根據(jù)里面內(nèi)容多少改變大小將盒子height改成auto。

  11. 使按鈕或者表單不可用this.disable=true;

  12. a&&b 如果a 為假 ,則返回 a ;如果a 為真 ,則返回 b 。

    i. a||b 如果 a 為假 ,則返回b ;如果 a 為真 ,則返回a 。

  13. img {vertical-align: top; } /取消圖片底部3像素距離/

  14. 一定要注意在javascript里修改style樣式時(shí)候賦值都要用“”以字符串形式賦值。

  15. javascript修改style中的數(shù)值后都可以到行內(nèi)數(shù)值樣式上看到。

  16. 使用webstorm新建javascript文件時(shí)候先把右下角的編碼格式改為utf-8否則后面運(yùn)行會(huì)出錯(cuò)。新建css文件也一樣。

  17. 如果在head里面引用javascript文件則需要考慮文件內(nèi)函數(shù)是否在window.onload里面否則會(huì)產(chǎn)生因?yàn)榫W(wǎng)頁(yè)未加載完造成javascript出錯(cuò)。

  18. 表單中的input可以直接通過name屬性獲取到DOM對(duì)象,form.控件name

  19. 創(chuàng)建字符串時(shí)若里帶有標(biāo)簽的最好用單引號(hào)括起來避免和里面的雙引號(hào)沖突。

  20. JS 頁(yè)面跳轉(zhuǎn): window.location.href = ”http://www.itcast.cn”。

  21. 要獲取當(dāng)前頁(yè)面寬度用document.documentElement.clientWidth。

  22. 獲取當(dāng)前頁(yè)面相對(duì)滾動(dòng)document.documentElement.scrollTop||document.body.scrollTop;

  23. input的type改為search時(shí)可以將回車當(dāng)確認(rèn)鍵。

  24. 獲取屏幕觸摸用addEventListener(“touchstart”,function(event){})在函數(shù)中用event.touches[0].clientY;來獲取鼠標(biāo)點(diǎn)擊的Y坐標(biāo)用touchmove來獲取觸摸離開時(shí)鼠標(biāo)最后所在的坐標(biāo)。

  25. 使用var img=new Image(width,height );效果和cratelement的效果相同。用img.src添加圖片。

  26. 字符串轉(zhuǎn)換成JSON對(duì)象用全局的JSON函數(shù) JSON.parse(string);

  27. 可以利用instanceof來判斷對(duì)象的構(gòu)造函數(shù)。

  28. 若函數(shù)中加return就不能當(dāng)做構(gòu)造函數(shù)來看,構(gòu)造函數(shù)return的是一個(gè)對(duì)象。

  29. 判斷數(shù)據(jù)類型時(shí)常用typeof和call,在使用 typeof 運(yùn)算符時(shí)采用引用類型存儲(chǔ)值(NULL,數(shù)組,對(duì)象)會(huì)出現(xiàn)一個(gè)問題,無論引用的是什么類型的對(duì)象,它都返回 "object"。

  30. console.log(toString.call({})) //[object Object]

  31. console.log(toString.call([])) //[object Array]

  32. 用window.addListener(“hashchange”,function(e){})來監(jiān)聽地址欄中#后的哈希值變化,利用window.location來得到地址對(duì)象。

  33. 解析一個(gè)地址先創(chuàng)建一個(gè)a對(duì)象var aLink=document.creatElement(“a”)

  34. 再給a標(biāo)簽對(duì)象href賦值為地址字符串,之后既可通過aLink.hash得到地址哈希值

  35. 小技巧給一個(gè)數(shù)組不斷添加內(nèi)容可以arr[arr.length]=…;來給數(shù)組不斷賦值。

  36. 從數(shù)組中刪除元素也可以splice(元素索引,刪除元素?cái)?shù)目)。

  37. for循環(huán)數(shù)組或?qū)ο髸r(shí)若用(index in arry)作為條件index表示當(dāng)前元素索引。

  38. 可以使用外部鏈接的標(biāo)簽img(支持跨域但無法獲取服務(wù)端數(shù)據(jù))、iframe(可以接受數(shù)據(jù)單操作復(fù)雜)、link(在CSS處理階段會(huì)報(bào)錯(cuò))、script(可以獲取服務(wù)器數(shù)據(jù),被選做jsonp傳送方式)。

  39. 為了使代碼易于維護(hù)采用開閉原則,對(duì)于后期會(huì)產(chǎn)生變化的量一定不能寫死,以后需要通過修改來迭代。

  40. 變化點(diǎn)封裝,一般都把今后會(huì)變化的地址類的寫在config函數(shù)里面,后面通過別名來使用。一定不要暴露在代碼中。

  41. 將一個(gè)對(duì)象利用“=”賦值給另一個(gè)對(duì)象時(shí)傳遞的是一個(gè)內(nèi)存對(duì)象,若修改其中一個(gè)的屬性則都會(huì)發(fā)生改動(dòng),想要避免源對(duì)象被篡改可以利用object.assign()方法或者object.creat()方法。

  42. js中函數(shù)對(duì)象是有長(zhǎng)度的,它的長(zhǎng)度是由參數(shù)的個(gè)數(shù)決定。(function (a, b, c, d) {}).length === 4。

  43. 想要正確處理上傳的文件,并接受到文件的內(nèi)容,需要把表單的enctype屬性設(shè)置為multipart/form-data,這是個(gè)適用于于BLOB(大型二進(jìn)制文件)的MIME類型。

  44. 想要將一個(gè)包含對(duì)象的數(shù)組以字符串的形式保存到文件中,需要循環(huán)遍歷數(shù)組并用JSON對(duì)象的.stringify方法將對(duì)象轉(zhuǎn)化為字符串形式,再進(jìn)行保存。

  45. 寫靜態(tài)網(wǎng)頁(yè)可以使用gulp+browersync(yo webapp生成模板),編寫動(dòng)態(tài)網(wǎng)站用express+ejs+sass.

    Sass監(jiān)聽文件夾:sass --watch sassFileDirectory:cssFileDirectory;

    Sass監(jiān)聽單個(gè)文件:sass --watch style.scss:style.css;

  46. 函數(shù)的柯里化(Currying)是把接受多個(gè)參數(shù)的函數(shù)變換成接受一個(gè)單一參數(shù)(最初函數(shù)的第一個(gè)參數(shù))的函數(shù),并且返回接受余下的參數(shù)而且返回結(jié)果的新函數(shù)的技術(shù)。增加了函數(shù)的適用性,但同時(shí)也降低了函數(shù)的適用范圍。

  47. 惰性載入表示函數(shù)執(zhí)行的分支只會(huì)在函數(shù)第一次掉用的時(shí)候執(zhí)行,在第一次調(diào)用過程中,該函數(shù)會(huì)被覆蓋為另一個(gè)按照合適方式執(zhí)行的函數(shù),這樣任何對(duì)原函數(shù)的調(diào)用就不用再經(jīng)過執(zhí)行的分支了。如函數(shù)功能是對(duì)應(yīng)不同瀏覽器創(chuàng)建XMLHttpRquest當(dāng)?shù)谝淮螆?zhí)行時(shí)判斷完瀏覽器類型并創(chuàng)建完成后及可以返回一個(gè)被修改過后的本函數(shù),覆蓋原來的函數(shù),這樣以后調(diào)用此函數(shù)時(shí)就不需要再判斷瀏覽器類型,可以直接創(chuàng)建對(duì)應(yīng)XMLHttpRquest。

  48. 面向切面編程AOP主要實(shí)現(xiàn)的目的是針對(duì)業(yè)務(wù)處理過程中的切面進(jìn)行提取,它所面對(duì)的是處理過程中的某個(gè)步驟或階段,以獲得邏輯過程中各部分之間低耦合性的隔離效果。比如最常見的就是日志記錄了.

  49. String的search、match、replace參數(shù)都可以為正則表達(dá)式。

  50. 任何語言在浮點(diǎn)數(shù)運(yùn)算時(shí)都會(huì)有誤差,浮點(diǎn)數(shù)運(yùn)算的時(shí)候,先轉(zhuǎn)化為二進(jìn)制,用二進(jìn)制來算,結(jié)果再轉(zhuǎn)回十進(jìn)制,轉(zhuǎn)換的過程中會(huì)裝換成無限循環(huán)小數(shù),所以最后結(jié)果會(huì)有誤差。js中使用Number.prototype.toFixed()來設(shè)置保留小數(shù)的位數(shù),返回的是字符串。可以使用valueOf()來再轉(zhuǎn)為number類型。

  51. 數(shù)組的歸約函數(shù)reduce(function(prev,cur,i){})會(huì)從左到右進(jìn)行迭代,每次返回的值作為下一次的prev參數(shù)。

  52. 在循環(huán)遍歷數(shù)組時(shí)若是想在找到結(jié)果后將結(jié)果在數(shù)組中剔除防止重復(fù),因?yàn)槿羰侵苯觿h除會(huì)影響數(shù)組的循環(huán),解決辦法是將此值賦為NaN,這樣在數(shù)組中顯示時(shí)為null。使用delete刪除數(shù)值元素,刪除元素會(huì)產(chǎn)生空缺,不會(huì)更新length,空缺部分顯示undefined。如果沒按照數(shù)組順序給數(shù)組某一索引賦值,數(shù)組將不連續(xù),中間空缺部分會(huì)顯示undefined。forEach()會(huì)忽略u(píng)ndefined。使用splice()函數(shù)可以移除元素而不產(chǎn)生空缺。若修改數(shù)組的length為某個(gè)值,數(shù)組在此索引之外的部分都會(huì)被刪除。使用array.filter(function(v){return true;})可以濾出空缺函數(shù)。

  53. 使用閉包要注意,由于變量被保存在內(nèi)存中,所以會(huì)對(duì)內(nèi)存造成消耗,所以不能濫用閉包。解決方法是 在退出函數(shù)之前,將不使用的局部變量全部刪除。

  54. 使用array.filter(function(val){})可以遍歷數(shù)組里的所有內(nèi)容,return true的話數(shù)組會(huì)保留當(dāng)前內(nèi)容,false移除當(dāng)前內(nèi)容。

  55. 獲得所有傳入的參數(shù)放入一個(gè)數(shù)組args = Array.prototype.slice.call(arguments);

  56. 寫遞歸函數(shù)時(shí)要注意:無論是否滿足跳出遞歸的條件,下一步的執(zhí)行都要帶上return,即在調(diào)用自身時(shí)前面一定要帶上return,滿足跳出條件時(shí)才能一步一步跳出循環(huán)。

    var lefted,sliced = [];function chunkArrayInGroups(arr, size) {

面向?qū)ο?/p>

  1. 在構(gòu)造函數(shù)中創(chuàng)建共有屬性通過this.創(chuàng)建,私有屬性通過var 創(chuàng)建。

  2. 使用delete collection.tracks,可以刪除collection的tracks屬性。

  3. 數(shù)據(jù)屬性有4個(gè)描述的行為特性,通過Object.defineProperty(obj,propKey,propDesc)設(shè)置。

  • writable 表示能否修改屬性的值。默認(rèn)為false

  • Enumerable 表示能否過過for in循環(huán)返回屬性是否可以枚舉。默認(rèn)為false可以枚舉

  • configuralbe 表示是否能過來delete刪除屬性從來重新定義屬性,能否修改其配置。默認(rèn)為false。

  • value 包含這個(gè)屬性的數(shù)據(jù)值。讀取屬性值的時(shí)候,從這個(gè)位置讀取。

  • 使用Object.keys(obj)可以得到obj對(duì)象的所有自有(非繼承)可枚舉的屬性鍵,屬性通常都是可枚舉的,Object.getOwnPropertyNames(obj)返回obj對(duì)象的所有屬性鍵。

  • 枚舉的一般規(guī)則是,系統(tǒng)創(chuàng)建的屬性不可枚舉,用戶創(chuàng)建的屬性可枚舉。枚舉的主要目的是判斷for-in循環(huán)中的哪些屬性該忽略。對(duì)于自己的代碼,通常可忽略枚舉屬性,且應(yīng)該避免用for-in循環(huán),屬性的枚舉特性默認(rèn)為可枚舉。

  • 保護(hù)對(duì)象的三種方式:

    • 防止擴(kuò)展:Object.preventExtensions(obj);設(shè)置對(duì)象不能添加屬性。

    • 封閉:Object.seal(obj);可以改變屬性的值,但屬性的特性不能被改變。

    • 凍結(jié):Object.freeze(obj)使所有的屬性不可寫,且封閉obj不能擴(kuò)展。

  • A instanceof B運(yùn)算符可以用來判斷B構(gòu)造函數(shù)的prototype屬性是否存在A對(duì)象的原型鏈上。等價(jià)于B.prototype.isPrototypeOf(A);

  • 設(shè)置原型的另一種方法Object.creat(proto,propDescObj?);

  • 獲取原型的另一種方法Object.getPropertypeOf(obj);

  • 實(shí)現(xiàn)模塊化編程

    • // 計(jì)算模塊calc_v2015.js

到此,相信大家對(duì)“javascript小知識(shí)點(diǎn)有哪些”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

本文標(biāo)題:javascript小知識(shí)點(diǎn)有哪些-創(chuàng)新互聯(lián)
標(biāo)題鏈接:http://www.rwnh.cn/article28/pohcp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)網(wǎng)站導(dǎo)航、網(wǎng)站策劃、靜態(tài)網(wǎng)站服務(wù)器托管、網(wǎng)站設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名
临桂县| 沧州市| 甘洛县| 旬阳县| 四平市| 蒲城县| 炎陵县| 隆尧县| 孟连| 金华市| 共和县| 石阡县| 呼和浩特市| 墨竹工卡县| 奉新县| 镇赉县| 乌苏市| 德阳市| 磐安县| 甘孜| 武冈市| 会昌县| 滨海县| 山西省| 汉川市| 黔西| 芜湖县| 固安县| 都江堰市| 左云县| 大方县| 定西市| 洮南市| 乌兰察布市| 拉萨市| 临汾市| 轮台县| 新乡市| 即墨市| 开化县| 社会|