JS小知識點

邏輯運算符

邏輯運算符用於測定變量或值之間的邏輯。html

給定  x=6 以及 y=3,下表解釋了邏輯運算符:程序員

運算符 描述 例子
&& and (x < 10 && y > 1) 爲 true
|| or (x==5 || y==5) 爲 false
! not !(x==y) 爲 true

條件運算符

JavaScript 還包含了基於某些條件對變量進行賦值的條件運算符。web

variablename=(condition)?value1:value2數組

 

 

JavaScript 一般用於操做 HTML 元素。瀏覽器

操做 HTML 元素

如需從 JavaScript 訪問某個 HTML 元素,您可使用 document.getElementById(id) 方法。服務器

請使用 "id" 屬性來標識 HTML 元素:cookie

例子

經過指定的 id 來訪問 HTML 元素,並改變其內容:app

<!DOCTYPE html>
<html>
<body>

<h1>My First Web Page</h1>

<p id="demo">My First Paragraph</p>

<script>

</script>

</body>
</html>
document.getElementById("demo").innerHTML="My First JavaScript";

親自試一試dom

JavaScript 由 web 瀏覽器來執行。在這種狀況下,瀏覽器將訪問 id="demo" 的 HTML 元素,並把它的內容(innerHTML)替換爲 "My First JavaScript"。函數

寫到文檔輸出

下面的例子直接把 <p> 元素寫到 HTML 文檔輸出中:

實例

<!DOCTYPE html>
<html>
<body>

<h1>My First Web Page</h1>

<script>

</script>

</body>
</html>
document.write("<p>My First JavaScript</p>");

親自試一試

警告

請使用 document.write() 僅僅向文檔輸出寫內容。

若是在文檔已完成加載後執行 document.write,整個 HTML 頁面將被覆蓋:

實例

<!DOCTYPE html>
<html>
<body>

<h1>My First Web Page</h1>

<p>My First Paragraph.</p>

<button onclick="myFunction()">點擊這裏</button>

<script>
function myFunction()
{
document.write("糟糕!文檔消失了。");
}
</script>

</body>
</html>



JavaScript Switch 語句

請使用 switch 語句來選擇要執行的多個代碼塊之一。

語法

switch(n)
{
case 1:
  執行代碼塊 1
  break;
case 2:
  執行代碼塊 2
  break;
default:
  n 與 case 1 和 case 2 不一樣時執行的代碼
}

工做原理:首先設置表達式 n(一般是一個變量)。隨後表達式的值會與結構中的每一個 case 的值作比較。若是存在匹配,則與該 case 關聯的代碼塊會被執行。請使用 break 來阻止代碼自動地向下一個 case 運行。

For/In 循環

JavaScript for/in 語句循環遍歷對象的屬性:

實例

var person={fname:"John",lname:"Doe",age:25};

for (x  person)
  {
  txt=txt + person[x];
  }


in

do/while 循環

do/while 循環是 while 循環的變體。該循環會執行一次代碼塊,在檢查條件是否爲真以前,而後若是條件爲真的話,就會重複這個循環。

語法

do
  {
  須要執行的代碼
  }
while (條件);

實例

下面的例子使用 do/while 循環。該循環至少會執行一次,即便條件是 false,隱藏代碼塊會在條件被測試前執行:

do
  {
  x=x + "The number is " + i + "<br>";
  i++;
  }
while (i<5);


break 語句用於跳出循環。

continue 用於跳過循環中的一個迭代。

Break 語句

咱們已經在本教程稍早的章節中見到過 break 語句。它用於跳出 switch() 語句。

break 語句可用於跳出循環。

break 語句跳出循環後,會繼續執行該循環以後的代碼(若是有的話):

實例

for (i=0;i<10;i++)
  {
  if (i==3)
    {
    
    }
  x=x + "The number is " + i + "<br>";
  }
break;

親自試一試

因爲這個 if 語句只有一行代碼,因此能夠省略花括號:

for (i=0;i<10;i++)
  {
  
  x=x + "The number is " + i + "<br>";
  }
if (i==3) break;

Continue 語句

continue 語句中斷循環中的迭代,若是出現了指定的條件,而後繼續循環中的下一個迭代。

該例子跳過了值 3:

實例

for (i=0;i<=10;i++)
 {
 if (i==3) continue;
  x=x + "The number is " + i + "<br>";
  }

親自試一試

JavaScript 標籤

正如您在 switch 語句那一章中看到的,能夠對 JavaScript 語句進行標記。

如需標記 JavaScript 語句,請在語句以前加上冒號:

label:
語句

break 和 continue 語句僅僅是可以跳出代碼塊的語句。

語法

break labelname;

continue labelname;

continue 語句(帶有或不帶標籤引用)只能用在循環中。

break 語句(不帶標籤引用),只能用在循環或 switch 中。

經過標籤引用,break 語句可用於跳出任何 JavaScript 代碼塊:

實例

cars=["BMW","Volvo","Saab","Ford"];
list:
{
document.write(cars[0] + "<br>");
document.write(cars[1] + "<br>");
document.write(cars[2] + "<br>");
break list;
document.write(cars[3] + "<br>");
document.write(cars[4] + "<br>");
document.write(cars[5] + "<br>");
}


try 語句測試代碼塊的錯誤。

catch 語句處理錯誤。

throw 語句建立自定義錯誤。

錯誤必定會發生

當 JavaScript 引擎執行 JavaScript 代碼時,會發生各類錯誤:

多是語法錯誤,一般是程序員形成的編碼錯誤或錯別字。

多是拼寫錯誤或語言中缺乏的功能(可能因爲瀏覽器差別)。

多是因爲來自服務器或用戶的錯誤輸出而致使的錯誤。

固然,也多是因爲許多其餘不可預知的因素。

JavaScript 拋出錯誤

當錯誤發生時,當事情出問題時,JavaScript 引擎一般會中止,並生成一個錯誤消息。

描述這種狀況的技術術語是:JavaScript 將拋出一個錯誤。

JavaScript 測試和捕捉

try 語句容許咱們定義在執行時進行錯誤測試的代碼塊。

catch 語句容許咱們定義當 try 代碼塊發生錯誤時,所執行的代碼塊。

JavaScript 語句 trycatch 是成對出現的。

語法

try
  {
  //在這裏運行代碼
  }
catch(err)
  {
  //在這裏處理錯誤
  }

實例

在下面的例子中,咱們故意在 try 塊的代碼中寫了一個錯字。

catch 塊會捕捉到 try 塊中的錯誤,並執行代碼來處理它。

 Arguments 對象

 1 Arguments 對象
 2 
 3 JavaScript 函數有個內置的對象 arguments 對象.
 4 
 5 argument 對象包含了函數調用的參數數組。
 6 
 7 經過這種方式你能夠很方便的找到最後一個參數的值 8 
 9 
10 實例
11 
12 x = findMax(1, 123, 500, 115, 44, 88);
13 
14 function findMax() {
15      var i, max = 0;
16      for (i = 0; i < arguments.length; i++) {
17          if (arguments[i] > max) {
18              max = arguments[i];
19          }
20      }
21      return max;
22  } 
23 
24 嘗試一下 » 
25 或者建立一個函數用來統計全部數值的和:
26 
27 
28 實例
29 
30 x = sumAll(1, 123, 500, 115, 44, 88);
31 
32  function sumAll() {
33      var i, sum = 0;
34      for (i = 0; i < arguments.length; i++) {
35          sum += arguments[i];
36      }
37      return sum;
38  } 

 

JavaScript Window Navigator 

--------------------------------------------------------------------------------

window.navigator 對象包含有關訪問者瀏覽器的信息。

--------------------------------------------------------------------------------

Window Navigator

window.navigator 對象在編寫時可不使用 window 這個前綴。


實例

<div id="example"></div>

 <script>

 txt = "<p>Browser CodeName: " + navigator.appCodeName + "</p>";
 txt+= "<p>Browser Name: " + navigator.appName + "</p>"; txt+= "<p>Browser Version: " + navigator.appVersion + "</p>";  txt+= "<p>Cookies Enabled: " + navigator.cookieEnabled + "</p>";
 txt+= "<p>Platform: " + navigator.platform + "</p>";
 txt+= "<p>User-agent header: " + navigator.userAgent + "</p>";
 txt+= "<p>User-agent language: " + navigator.systemLanguage + "</p>";

 document.getElementById("example").innerHTML=txt;

 </script>

嘗試一下 » 

--------------------------------------------------------------------------------

警告!!!

來自 navigator 對象的信息具備誤導性,不該該被用於檢測瀏覽器版本,這是由於:
•navigator 數據可被瀏覽器使用者更改
•一些瀏覽器對測試站點會識別錯誤
•瀏覽器沒法報告晚於瀏覽器發佈的新操做系統

--------------------------------------------------------------------------------

瀏覽器檢測

因爲 navigator 可誤導瀏覽器檢測,使用對象檢測可用來嗅探不一樣的瀏覽器。

因爲不一樣的瀏覽器支持不一樣的對象,您可使用對象來檢測瀏覽器。例如,因爲只有 Opera 支持屬性 "window.opera",您能夠據此識別出 Opera。

例子:if (window.opera) {...some action...}
相關文章
相關標籤/搜索