1. 程式人生 > >javascript 基礎篇 隨課筆記

javascript 基礎篇 隨課筆記

頁面 數據類型 進行 doctype array content not ont eof

!DOCTYPE HTML>
<html>
<head>
<meta name="content-type" content="text/html; charset=utf-8">
<title> 基礎視頻 </title>
<script type="text/javascript" language="javascript">

window.onload=function()
{
var oTxt1=document.getElementByID(‘txt1‘);
var oTxt2=document.getElementByID(‘txt2‘);
var oBtn=document.getElementByID(‘btn1‘);

oBtn.onclick=function()

{
alert(parseInt(oTxt1.value)+parseInt(oTxt2.value));
}
}
var a=12;
alert(typeof a);
</script>
</head>
<body>
我們是好朋友

<input id="txt1" type="text" />
<input id="txt2" type="text" />
<input id="btn1" type="button" value="求和" />

</body>

</html>

居然調試不過。專心找問題ING。。。。

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         else
17         {
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>
    技術分享圖片

javascript 基礎篇 隨課筆記