自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

JavaScript寫庫(kù)前的準(zhǔn)備工作

開發(fā) 開發(fā)工具
雖然我覺得這個(gè)鄙視鏈很幼稚,但是不能不說(shuō)很多人拿自己寫庫(kù)作為一個(gè)技能區(qū)分標(biāo)準(zhǔn),不管怎樣寫庫(kù)都是一個(gè)提升技能的好辦法,然而并不難。

 能夠獨(dú)立的書寫一個(gè)庫(kù),是很多開發(fā)者或者HR認(rèn)為區(qū)分技能的一個(gè)標(biāo)志,而且還存在一個(gè)鄙視鏈:

切圖的<用JS<從網(wǎng)上趴代碼<自己寫簡(jiǎn)單js<自己寫組件<自己數(shù)據(jù)交互<自己寫庫(kù)給別人用<寫nodejs等后臺(tái)js<自己寫后臺(tái)組件和數(shù)據(jù)庫(kù)交互的,

雖然我覺得這個(gè)鄙視鏈很幼稚,但是不能不說(shuō)很多人拿自己寫庫(kù)作為一個(gè)技能區(qū)分標(biāo)準(zhǔn),不管怎樣寫庫(kù)都是一個(gè)提升技能的好辦法,然而并不難。

好,我們看看寫庫(kù)之前需要什么準(zhǔn)備知識(shí)。

1.嚴(yán)格模式

很多庫(kù)一開始就是這樣子的,

  1. (function(global){ 
  2.     //嚴(yán)格模式 
  3.     'use strict' 
  4. })(window); 

不墨跡直接說(shuō)嚴(yán)格模式的好處,

1.更利于調(diào)試,當(dāng)不定義變量直接用的時(shí)候如果不適用嚴(yán)格模式不會(huì)報(bào)錯(cuò),而是結(jié)果不對(duì)。這個(gè)很難調(diào)試,因?yàn)榇蟛糠謺r(shí)間這種錯(cuò)誤是你單詞拼寫錯(cuò)誤,不報(bào)錯(cuò)。

2.防止出現(xiàn)低級(jí)錯(cuò)誤,除了上面的問(wèn)題,還有比如if里面定義函數(shù)造成問(wèn)題的情況

3.修復(fù)了很多不利的bug和擅長(zhǎng)無(wú)用功能,比如with。

聽不懂我上面那三條也沒事記住一個(gè)字就夠了,以后必須用!

2.初始化。

 舉個(gè)例子寫一個(gè)jquery的css方法,簡(jiǎn)單點(diǎn)兒,只實(shí)現(xiàn)設(shè)置寬高顏色。

  1. <!DOCTYPE html> 
  2. <html lang="en"
  3. <head> 
  4.     <meta charset="UTF-8"
  5.     <title>大彬哥版權(quán)所有翻錄必究</title> 
  6.     <meta name="author" content="尼古拉斯·屌·大彬哥-QQ群:552079864"
  7.     <meta name="copyright" content="尼古拉斯·屌·大彬哥"
  8.     <meta name="viewport" 
  9.           content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"
  10.     <meta http-equiv="X-UA-Compatible" content="ie=edge"
  11.     <style> 
  12.  
  13.     </style> 
  14.     <script> 
  15.         function css(obj,width,height,color){ 
  16.  
  17.             obj.style['width'] = width+'px'
  18.             obj.style['height'] = height+'px';; 
  19.             obj.style['background'] = color; 
  20.         } 
  21.         document.addEventListener('DOMContentLoaded',function(){ 
  22.             var oDiv = document.querySelector('#div1'); 
  23.             css(oDiv,200,100,'red'); 
  24.         },false); 
  25.     </script> 
  26.  
  27. </head> 
  28. <body> 
  29.     <div id="div1"></div> 
  30. </body> 
  31. </html> 

這樣寫至少有兩問(wèn)題,

1.參數(shù)多了我記不住順序,就死翹翹了。

2.參數(shù)多了我忘寫兩個(gè),就死翹翹了。

怎么解決用json的無(wú)序和增加默認(rèn)值。

  1. <!DOCTYPE html> 
  2. <html lang="en"
  3. <head> 
  4.     <meta charset="UTF-8"
  5.     <title>大彬哥版權(quán)所有翻錄必究</title> 
  6.     <meta name="author" content="尼古拉斯·屌·大彬哥-QQ群:552079864"
  7.     <meta name="copyright" content="尼古拉斯·屌·大彬哥"
  8.     <meta name="viewport" 
  9.           content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"
  10.     <meta http-equiv="X-UA-Compatible" content="ie=edge"
  11.     <style> 
  12.  
  13.     </style> 
  14.     <script> 
  15.         function css(obj,json){ 
  16.             json.width = json.width||100; 
  17.             json.height = json.height||100; 
  18.             json.background =  json.background||'#cccccc';    
  19.             obj.style['width'] = json.width+'px'
  20.             obj.style['height'] = json.height+'px';; 
  21.             obj.style['background'] = json.background; 
  22.         } 
  23.         document.addEventListener('DOMContentLoaded',function(){ 
  24.             var oDiv = document.querySelector('#div1'); 
  25. //            css(oDiv,{width:200,height:50,background:'red'}); 
  26.             css(oDiv,{background:'red'}); 
  27.         },false); 
  28.     </script> 
  29. </head> 
  30. <body> 
  31.     <div id="div1"></div> 
  32. </body> 
  33. </html> 

簡(jiǎn)單吧。

3.數(shù)據(jù)類型判斷

我們有時(shí)候經(jīng)常要判斷用戶輸入的數(shù)據(jù)類型。上代碼,重點(diǎn)是對(duì)象和數(shù)組的判斷。

  1. <!DOCTYPE html> 
  2. <html lang="en"
  3. <head> 
  4.     <meta charset="UTF-8"
  5.     <title>大彬哥版權(quán)所有翻錄必究</title> 
  6.     <meta name="author" content="尼古拉斯·屌·大彬哥-QQ群:552079864"
  7.     <meta name="copyright" content="尼古拉斯·屌·大彬哥"
  8.     <meta name="viewport" 
  9.           content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"
  10.     <meta http-equiv="X-UA-Compatible" content="ie=edge"
  11.     <style> 
  12.  
  13.     </style> 
  14.     <script> 
  15.         //usbnofunc 
  16.         // undefine string boolean number  
  17.         //這幾個(gè)直接用typeof 不考慮new Number這些情況,神經(jīng)病才這么用,這里不墨跡 
  18.        // alert(typeof 'abc' === 'string'); 
  19.         //看看null,不要以為null類型是object 這孫子是一個(gè)bug 
  20. //        alert(typeof null === 'object'); 
  21.         // 判斷數(shù)組 
  22.         var arr = [1,3]; 
  23.         function isArray(value){ 
  24.             if (typeof Array.isArray === "function") { 
  25.                 return Array.isArray(value); 
  26.             }else
  27.                 return Object.prototype.toString.call(value) === "[object Array]"
  28.             } 
  29.         } 
  30.         alert(isArrayFn(arr));// true   
  31.          
  32.     </script> 
  33. </head> 
  34. <body> 
  35.     <div id="div1"></div> 
  36. </body> 
  37. </html> 

知道你可能不了解數(shù)組的判斷方式,但是我想告訴你,兩件事:

1.看別人的庫(kù)很有必要,因?yàn)槟銓懙牟恢苋?,人家已?jīng)很周全拿過(guò)去用就行了,前提是你知道原理。

2.不是每一個(gè)東西都會(huì)用到,不要為了學(xué)一個(gè)東西而去學(xué),你一定是解決實(shí)際問(wèn)題,比如很多人不會(huì)用call,bind,apply。其實(shí)是因?yàn)樗麄儾恢烙迷谀模瑢W(xué)以致用。

看別人庫(kù)是最快的學(xué)習(xí)方法,推薦兩個(gè)庫(kù),一個(gè)是loadash,一個(gè)是underscore.

【本文為51CTO專欄作者“面包理想學(xué)院”的原創(chuàng)稿件,轉(zhuǎn)載請(qǐng)通過(guò)51CTO聯(lián)系作者獲取授權(quán)】

戳這里,看該作者更多好文

責(zé)任編輯:武曉燕 來(lái)源: 51CTO專欄
相關(guān)推薦

2022-01-06 10:48:16

硬盤操作系統(tǒng)數(shù)據(jù)

2013-02-27 10:35:03

RHEV 3.1

2013-05-16 15:04:55

系統(tǒng)升級(jí)

2009-03-01 22:27:21

2010-11-01 16:19:59

大型UPS電源準(zhǔn)備工作

2023-04-27 08:04:19

2011-03-25 10:25:19

2010-05-19 13:45:41

IIS組件

2011-06-30 15:45:55

SEO

2017-03-09 19:19:18

重構(gòu)應(yīng)用開發(fā)架構(gòu)

2009-09-01 10:59:22

C#項(xiàng)目

2011-07-06 11:10:30

iOS iphone XCode

2011-08-01 14:08:17

admt活動(dòng)目錄遷移

2011-03-22 10:10:16

CentOSNagios安裝

2009-07-23 12:22:41

ASP.NET MVC

2017-09-20 16:07:31

Facebook

2011-09-01 10:20:56

2016-01-15 10:28:43

PaaS運(yùn)維運(yùn)維服務(wù)

2010-02-26 15:46:31

MID Linux

2011-03-30 11:31:10

MRTG
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)