JS小知识点

逻辑运算符

逻辑运算符用于测定变量或值之间的逻辑。

给定  x=6 以及 y=3,下表解释了逻辑运算符:

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

条件运算符

JavaScript 还包含了基于某些条件对变量进行赋值的条件运算符。

variablename=(condition)?value1:value2

 

 

JavaScript 通常用于操作 HTML 元素。

操作 HTML 元素

如需从 JavaScript 访问某个 HTML 元素,您可以使用 document.getElementById(id) 方法。

请使用 "id" 属性来标识 HTML 元素:

例子

通过指定的 id 来访问 HTML 元素,并改变其内容:

<!DOCTYPE html>
<html>
<body>

<h1>My First Web Page</h1>

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

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

</body>
</html>

亲自试一试

JavaScript 由 web 浏览器来执行。在这种情况下,浏览器将访问 id="demo" 的 HTML 元素,并把它的内容(innerHTML)替换为 "My First JavaScript"。

写到文档输出

下面的例子直接把 <p> 元素写到 HTML 文档输出中:

实例

<!DOCTYPE html>
<html>
<body>

<h1>My First Web Page</h1>

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

</body>
</html>

亲自试一试

警告

请使用 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 in person)
  {
  txt=txt + person[x];
  }


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)
    {
    break;
    }
  x=x + "The number is " + i + "<br>";
  }

亲自试一试

由于这个 if 语句只有一行代码,所以可以省略花括号:

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

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...}

 

posted @ 2015-06-01 17:20  tian830937  阅读(291)  评论(0编辑  收藏  举报