zoukankan      html  css  js  c++  java
  • 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...}
  • 相关阅读:
    6.Dump域内用户Hash姿势集合
    4.浅谈跨域劫持
    7. Smali基础语法总结
    7.linux安全基线加固
    12. git常用语法总结
    5.内网渗透之PTH&PTT&PTK
    4. 内网渗透之IPC$入侵
    1.我所了解的内网渗透
    34.不安全的HTTP
    2.内网渗透之端口转发
  • 原文地址:https://www.cnblogs.com/tian830937/p/4544412.html
Copyright © 2011-2022 走看看