成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

雕蟲無小技 JavaScript初學(xué)者的10個迷你技巧

原創(chuàng)
開發(fā) 前端 新聞
雖然JavaScript有很多的編程方法,但這里只挑選了10個技巧,這些技巧對初學(xué)者理解JavaScript來說是很好的的起點。

【51CTO 8月24日外電頭條】在之前的編程語言排行榜中,我們曾介紹過轉(zhuǎn)正在即的JavaScript語言,正如文章中闡明的那樣,JavaScript不僅是***活力的腳本語言,還是是最有用的編程語言之一。因為絕大多數(shù)的瀏覽器都和它兼容,你可以在這些瀏覽器中使用它。JavaScript被接受的相當(dāng)快,因為它是如此的簡單,而且使用范圍相當(dāng)廣泛。許多程序員過去常常認為JavaScript是一門“玩具語言”,但是,AJAX進入市場后表現(xiàn)出了完全相反的一面,它讓JavaScript展現(xiàn)出了完全不同的能力和功能。

由于這個發(fā)明的出現(xiàn),程序員現(xiàn)在已經(jīng)可以創(chuàng)建帶有桌面應(yīng)用程序效果的Web應(yīng)用程序了,這是很有益處的,因為數(shù)據(jù)可以更快地改變。這是一些迷你技巧,它們可以幫助初學(xué)者更好地使用JavaScript。JavaScript的使用范圍相當(dāng)廣泛,而且還有這么多的風(fēng)格,所以它可以有很多的技巧。另外,雖然它很多的編程方法,但是我只挑選了10個技巧,我認為這些技巧對初學(xué)者理解JavaScript來說是很好的的起點。

1,在一個數(shù)組的***添加一個元素

這個技巧可以讓你使用Length屬性在一個數(shù)組的***添加一個元素,因為Length屬性比數(shù)組的***一個元素的下標(biāo)多1。這個方法和“push”方法是相同的。例如:

  1.  
  2. var myArray = [];  
  3. myArray[myArray.length] = 'New Element';  
  4.  

2,調(diào)整一個數(shù)組的長度

Length屬性不是只讀的,所以你可以設(shè)置Length屬性的值。而且,你可以使用它增大或縮小數(shù)組的長度。例如:

  1.  
  2. var myArray = [1,2,3];  
  3. myArray.length // 3  
  4. myArray.length = 2; //Delete the last element  
  5. myArray.length = 20 // add 18 elements to the array; the elements have the undefined value. 


 

 

3,使用“!!”把任意數(shù)據(jù)類型轉(zhuǎn)換成Boolean

這個技術(shù)可以讓你使用“!!”把任意數(shù)據(jù)類型(比如string, number或integer)轉(zhuǎn)換成Boolean。例如:

  1. var myString = '23255';  
  2. typeof myString; //String  
  3.    
  4. myString = !!myString;  
  5. typeof myString  //Boolean 

4,把Number轉(zhuǎn)換成String

這個技巧可以讓你在number的結(jié)尾添加一個空的string來把number轉(zhuǎn)換成string,例如:

  1. var mynumber = 234;  
  2. typeof mynumber; //Number  
  3.    
  4. mynumber += '';  
  5. typeof mynumber; //String 

5,了解一個函數(shù)需要多少個變量

這是一個偉大的技巧,可以讓你準(zhǔn)確地知道一個函數(shù)需要多少個變量。例如:

  1. function add_nums(num1, num2){  
  2.     return num1 + num2;  
  3. }  
  4. add_nums.length // 2 is the amount of parameters expected by the function add_nums 

6,使用“arguments”對象來了解一個函數(shù)接收到了多少個參數(shù)

這個技術(shù)可以讓你使用“arguments”對象來了解一個函數(shù)接收到了多少個參數(shù)。例如:

  1. function add_nums(){  
  2.     return arguments.length;  
  3. }  
  4.    
  5. add_nums(23,11,32,56,89,89,89,44,6); //this return the number 9 

當(dāng)你需要檢查參數(shù)個數(shù)的有效性的時候,或者當(dāng)你需要創(chuàng)建一個不確定參數(shù)個數(shù)的函數(shù)的時候,這個技巧是很有用的。

  1. function sum_three_nums( ){  
  2.  if(arguments.length!=3) throw new Error('received ' + arguments.length + ' parameters and should work with 3');  
  3.    
  4. }  
  5.    
  6. sum_three_nums(23,43); //Return the error message  
  7.    
  8. function sum_num(){  
  9.     var total = 0;  
  10.     for(var i=0;i<arguments .length;i++){  
  11.         total+=arguments[i];  
  12.     }  
  13.     return total;  
  14. }  
  15.    
  16. sum_num(2,34,45,56,56); 

#p#

7,把對象當(dāng)成參數(shù),來組織和改善函數(shù)

在現(xiàn)代Web開發(fā)中,對象最普遍的一個用途是把它們當(dāng)成函數(shù)的參數(shù)。要記住函數(shù)參數(shù)的這個規(guī)則總是很困難的;但是,使用一個對象是十分有好處的,因為我們不必再擔(dān)心參數(shù)的規(guī)則了。而且,它更有組織性,可以讓用戶更好的理解我們要做什么。這個方法可以讓你把對象當(dāng)成參數(shù),來組織和改善函數(shù)。例如:

  1. function insertData(name,lastName,phone,address){  
  2.     code here;  

重構(gòu)以后的代碼是這樣的:

  1. function insertData(parameters){  
  2.     var name = parameters.name;  
  3.     var lastName = parameters.lastName;  
  4.     var phone = parameters.phone;  
  5.     var address = parameters.address;  

當(dāng)你要使用默認值的時候,它也是十分有用的。例如:

  1. function insertData(parameters){  
  2.     var name = parameters.name;  
  3.     var lastName = parameters.lastName;  
  4.     var phone = parameters.phone;  
  5.     var address = parameters.address;  
  6.     var status = parameters.status || 'single' //If status is not defined as a property 
    //in the object the variable status take single as value
     

現(xiàn)在,要使用這個函數(shù)十分的簡單;我們可以用兩種方式來發(fā)送數(shù)據(jù):

  1. //Example 1  
  2. insertData({name:’Mike’, lastName:’Rogers’, phone:’555-555-5555’,address:’the address’, status:’married’});  
  3.    
  4.    
  5. //Example 2  
  6. var myData = {       name:’Mike’,   
  7.                          lastName:’Rogers’,   
  8.                                phone:’555-555-5555’,  
  9.                              address:’the address’,   
  10.                                 status:’married’  
  11.                        };  
  12.    
  13. insertData(myData); 

8,函數(shù)就是數(shù)據(jù)

函數(shù)就是像strings或numbers那樣的數(shù)據(jù),我們可以把它們當(dāng)成函數(shù)參數(shù)來傳遞它們,這可以創(chuàng)建十分令人驚訝而又“威風(fēng)凜凜”的Web應(yīng)用程序。這個方法是非常有用的,幾乎所有的主流框架都使用了這個方法。例如:

  1. function byId(element, event, f){  
  2.     Document.getElementById(element).['on'+event] = f; //f is the function that we pass as parameter  
  3. }  
  4.    
  5. byId('myBtn','click',function(){alert('Hello World')});  
  6.    
  7. Another example of functions as data:  
  8.    
  9. //Example 1  
  10. function msg(m){  
  11.     Alert(m);  
  12. }  
  13.    
  14. //Example 2  
  15. var msg = function(m){ alert(m);}  

這些函數(shù)幾乎是完全相同的。唯一的區(qū)別是使用它們的方式。例如:***個函數(shù),在你聲明它以前,你就可以使用它了;但是第二個函數(shù)只有聲明以后才能使用:

  1. //Example 1  
  2. msg('Hello world'); //This will work  
  3.    
  4. function msg(m){  
  5.     alert(m);  
  6. }  
  7.    
  8. //Example 2  
  9. msg('Hello world'); //Does not work because JavaScript cannot find the function msg because is used before is been declared.  
  10.    
  11. var msg = function(m){ alert(m)} 

9,擴展本地對象

雖然一些JavaScript的***不推薦這個技術(shù),但是它已經(jīng)被一些框架使用了。它可以讓你針對JavaScript API來創(chuàng)建一些輔助性的方法。

  1. //We create the method prototype for our arrays  
  2. //It only sums numeric elements  
  3.    
  4. Array.prototype.sum = function(){  
  5.     var len = this.length;  
  6.     total = 0;  
  7.     for(var i=0;i<len ;i++){  
  8.         if(typeof this[i]!= 'number'continue;  
  9.          total += this[i];  
  10.     }  
  11.     return total;  
  12. }  
  13.    
  14. var myArray = [1,2,3,'hola'];  
  15. myArray.sum();  
  16.    
  17.    
  18.    
  19.    
  20. Array.prototype.max = function(){  
  21.     return Math.max.apply('',this);  
  22. }  
  23.   

10,Boolean

注意它們之間的區(qū)別,因為這會節(jié)省你調(diào)試腳本的時間。

  1. '' == '0'          // false  
  2. 0 == ''            // true  
  3. 0 == '0'           // true  
  4. false == 'false'   // false  
  5. false == '0'       // true  
  6. false == undefined // false  
  7. false == null      // false  
  8. null == undefined  // true  
  9. true == 1          // true  
  10. '' == null         // false  
  11. false == ''        // true 

如果你在其他地方看過這些腳本,那么這些技巧可以幫助你融會貫通。這些技巧甚至還不及JavaScript所有功能的冰山一角,但是這是一個開始!請不要客氣,留下你的評論,問題,額外的技巧或疑慮吧,但是請記住,這是一篇針對初學(xué)者的文章!!我希望能收到一些開發(fā)者同行的來信!Enjoy!

 

【閱讀推薦】

  1. 提高Web網(wǎng)站性能:JavaScript優(yōu)化細節(jié)
  2. JavaScript跨瀏覽器兼容測試三步走
  3. 早該知道的7個JavaScript技巧
  4. 那些不為人熟知的JavaScript技巧
  5. 專題:jQuery從入門到精通

 

責(zé)任編輯:佚名 來源: 51CTO.com
相關(guān)推薦

2020-12-07 10:55:16

編程學(xué)習(xí)技術(shù)

2010-09-01 09:23:53

DIV CSS

2020-09-06 08:19:11

Python編程語言開發(fā)

2009-06-23 13:32:48

JavaScript初竅門

2011-06-01 09:27:08

JavaScript

2011-01-11 08:45:17

JavaScript

2011-06-17 15:44:25

Qt

2021-05-06 09:00:00

JavaScript靜態(tài)代碼開發(fā)

2019-06-11 09:52:18

IPv6IPv4程序

2017-10-30 10:12:27

安卓開發(fā)初學(xué)者技巧

2011-04-12 10:13:24

2015-03-13 11:10:03

PHP初學(xué)者PHP知識點PHP困惑

2020-09-18 09:02:20

JavaScript

2011-09-16 09:38:19

Emacs

2022-04-24 15:21:01

MarkdownHTML

2014-01-03 14:09:57

Git學(xué)習(xí)

2024-08-17 12:14:06

2013-12-12 10:20:00

JavaScript學(xué)習(xí)

2020-08-07 07:05:48

JavaScript開發(fā)技術(shù)

2021-03-15 08:13:19

JavaScript開發(fā)代碼
點贊
收藏

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

主站蜘蛛池模板: 国产传媒视频在线观看 | 亚洲欧美一区二区三区情侣bbw | av网站免费观看 | 超碰在线免费公开 | 激情小视频 | 国产综合精品一区二区三区 | 久久久中文 | 亚洲精品影院 | 国产精品国产三级国产aⅴ浪潮 | 欧美日韩高清在线一区 | 丁香婷婷成人 | 最近日韩中文字幕 | 激情国产视频 | 免费网站国产 | 亚洲精品一区二区三区蜜桃久 | 国产精品久久精品 | 911网站大全在线观看 | 久久91精品| 中文字幕精品一区二区三区精品 | 亚洲精品久久久一区二区三区 | 亚洲精品在线免费观看视频 | 亚洲美乳中文字幕 | 久久精品久久久久久 | 国产欧美精品在线观看 | 国产精品久久午夜夜伦鲁鲁 | 日韩一区二区福利视频 | 国产精品 欧美精品 | 中文字字幕一区二区三区四区五区 | 国产亚洲一区二区三区 | 亚洲欧美激情四射 | 不卡视频一区 | 91免费视频观看 | 亚洲国产成人精品久久久国产成人一区 | 欧美中文字幕在线观看 | 毛片网站在线观看 | 自拍第一页 | 99国内精品久久久久久久 | 欧美日韩久久久 | 久久人人网 | 亚洲国产精品va在线看黑人 | 波多野结衣一区二区三区在线观看 |