Javascript基礎第一課時【讀書筆記】

來源:互聯網
上載者:User

這些東西都非常基礎,一看就懂的,有些函數的功能需要記憶下來。最近基本上吧《Javascript DOM編程藝術》看完了,關於Jquery的知識有很多不懂得地方,慢慢琢磨吧。由於沒有源檔案有一個綜合執行個體沒有做成,有的可以發給我一下,謝謝哈boychik.pure@gmail.com

今天是基礎知識,後面會繼續更新。慢慢深入,大家一起進步,終究會有成功的那一天。盡請期待:)

1.javascript的組成部分

  • ECMAscript----主要用來瀏覽器解析,例如,定義一個變數,函數----瀏覽器幾乎都相容
  • BOM(browser object model)----瀏覽器物件模型,針對瀏覽器的操作,例如快顯視窗,行動瀏覽器的位置,列印等等----幾乎不相容,不過用的也比較少。
  • DOM(document object model)----文件物件模型,操作頁面的功能,例如擷取文檔的div,class,添加元素等----大部分都相容

2.變數類型

  • number
  • string
  • boolean
  • object
  • function
  • undefined
  • 建議:一個變數只儲存一個類型的資料

3.對象(js裡一切都是對象)

基本類型:number,string,boolean,undefined他們都很單純,都簡簡單單的(這些不是對象)

複合類型:object,數組array,日期對象date,複合類型由一些基本類型複合而成,包括了一些雜七雜八的東西。

4.資料類型轉換----顯示轉換/隱式轉換

 1 <script> 2 window.onload=function () 3 { 4     var oTxt1=document.getElementById('txt1'); 5     var oTxt2=document.getElementById('txt2'); 6     var oBtn=document.getElementById('btn1'); 7      8     oBtn.onclick=function () 9     {10         alert(parseInt(oTxt1.value)+parseInt(oTxt2.value));11     };12 };13 </script>14 </head>15 16 <body>17 <input id="txt1" type="text" />18 <input id="txt2" type="text" />19 <input id="btn1" type="button" value="求和" />20 </body>

最佳化後,如果輸入的不是數值,會提示。

 1 <script> 2 window.onload=function () 3 { 4     var oTxt1=document.getElementById('txt1'); 5     var oTxt2=document.getElementById('txt2'); 6     var oBtn=document.getElementById('btn1'); 7      8     oBtn.onclick=function () 9     {10         var num=parseInt(oTxt1.value)+parseInt(oTxt2.value);11         12         if(isNaN(num))13         {14             alert('您輸入的有誤');15         }16         else17         {18             alert(num);19         }20     };21 };22 </script>

 

如果在文字框輸入不同的兩個數字,例如2和3,那麼按鈕的單擊事件會彈出23,而不是5,因為文字框裡面的東西預設的就是字串而不是數值型的資料。這裡使用parseInt函數可以轉化字串的類型。

1 <script>2     var a='13ab';3     alert(parseInt(a));4 </script>

準確的說,parseInt函數是提取前面的數字,如果遇到字串就不會繼續往後面去值了。

1 <script>2     var a='ab';3     alert(parseInt(a));4 </script>

如果是這樣的話,會出現NaN (not a number),也就是不是一個數位意思。

1 <script>2     var a='12.6';3     alert(parseInt(a));4 </script>

如果是這樣的話,會彈出12這個數字,後面的小數點直接省略了。

1 <script>2     var a='12.6';3     alert(parseFloat(a));4 </script>

parseInt的兄弟parseFloat函數。

NaN(這是個神奇的東西,他和自己也不相等,可能在某種程度上有區別吧)

JavaScript 以 NaN 的形式輸出 Number.NaN。請注意,NaN 與其他數值進行比較的結果總是不相等的,包括它自身在內。因此,不能與 Number.NaN 比較來檢測一個值是不是數字,而只能調用 isNaN() 來比較。

1 <script>2     var a=parseInt('ab');3     var b=parseInt('ab');4     alert(a==b);5 </script>
1 <script>2     var a=parseInt('ab');3     var b=parseInt('ab');4     alert(a==b);5 </script>

這兩個的結果都是flase.以上都是屬於顯示轉換。

隱式轉換:

1 <script>2     var a='2';3     var b=2;4     alert(a==b);5 </script>

運行結果是true。這就是一個隱式轉換的例子,他會把兩邊的資料類型進行比較然後相加。

1 <script>2     var a='2';3     var b='2';4     alert(a-b);5 </script>

如果是減號那麼結果是0,如果是加號結果就是22;你懂得應該。只有加法不能轉化,乘除減法都可以。

關於===

全等就是不僅要內容相等,而且類型也要相等。

5.變數範圍

  • 全域變數---是魔鬼==!
  • 全域變數的存在主要有以下一些原因:1,使用全域變數會佔用更多的記憶體(因為其生命期長),不過在電腦配置很高的今天,這個不成為什麼問題,除非使用的是巨大對象的全域變數,能避免就一定要避免。2,使用全域變數程式運行時速度更快一些(因為記憶體不需要再分配),同樣現在也快不了多少。3,對於局部變數的名字空間汙染,這個在不使用太多變數時是可以避免的。4,當全域變數與局部變數重名的時候,起作用的是局部變數,全域變數被屏蔽掉。總之,全域變數可以使用,但是全域變數使用時應注意的是儘可能使其名字易於理解,而且不能太短,避免名字空間的汙染;避免使用巨大對象的全域變數。(這一段摘自百度百科)
  • 局部變數---閉包

這裡比較好理解就不解釋了。閉包的知識細節還有很多,今天先到這吧,洗澡睡覺,晚安~

  •  1 <script> 2     function aa(){    //父函數 3         var a=1; 4         function bb(){ //子函數,可以啃老。 5             alert(a); 6         }; 7         bb(); 8     }; 9     aa();10 </script>
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.