JavaScript(一)

来源:https://www.cnblogs.com/xiaogeldx/archive/2019/03/30/10628227.html
-Advertisement-
Play Games

本文轉載自:https://blog.csdn.net/xiaogeldx/article/details/85390757 註 在pycharm中快速註釋HTML的方法(用於註釋方法不正確時): File Settings Languages&Frameworks Python Template ...


本文轉載自:https://blog.csdn.net/xiaogeldx/article/details/85390757

  • 在pycharm中快速註釋HTML的方法(用於註釋方法不正確時):
    • File--Settings--Languages&Frameworks--Python Template Languages--Template Languages改為None,HTML和JavaScript註釋方法就都正確了

      JavaScript基礎知識

  • 網頁三要素:HTML,css,js
  • JavaScript和Java沒有任何關係,最多語法看起來有點像
  • JavaScript原名ivescript,是一門動態類型,弱類型基於原型的腳本語言
  • 和HTML複合使用,不能單獨使用
  • 大部分瀏覽器都支持

    JavaScript作用:

  • 頁面特效
  • 前後交互
  • 後臺開發(node)

    JavaScript寫在哪裡

  • 寫在script標簽里
  • 外部js文件引入

    寫在script標簽里

      1.
      <head>
      <meta charset="UTF-8">
      <title>try</title>
      <script>
          alert("wer");
      </script>
      </head>
      <body>
      <div>
          <input type="button" value="點我" onclick="alert('bug')">
      </div>
      2.
      <head>
      <meta charset="UTF-8">
      <title>try</title>
      </head>
      <body>
      <div>
          <input type="button" value="點我" onclick="alert('bug')">
      </div>
      <script>
          alert("wer");
      </script>

    在這裡插入圖片描述

    外部的js文件內,然後引入

      <head>
      <meta charset="UTF-8">
      <title>try</title>
      <script src="js/a.js"></script>
      </head>
      <body>
      <div>
          <input type="button" value="點我" onclick="alert('bug')">
      </div>
  • a.js的代碼:

      alert("wer");

    JS一些註意事項

  • 嚴格區分大小寫
  • 每一行完整語句後面加分號
  • 變數名不能使用關鍵字和保留字
  • 代碼要縮進,保持可讀性
  • 註釋用//

    JS修改元素內容

  • 首先獲取id為xxx的元素 document.getElementByld(" ")
  • var 是js定義變數的關鍵字,創建(聲明變數),如果不加為全局變數
  • innerHTML和innerText可以修改/獲取

    JS獲取元素

  • 通過id獲取元素:id

      document.getElementById(" ");
  • 通過class名字獲取元素:class

      document getElementsByClassName(" ");
  • 通過標簽名獲取元素:tagName

      document.getElementsByTagName(" ");
  • 通過name的屬性獲取元素,一般用於input:name

      document.getElementsByName(" ");
  • 通過css選擇器獲取一個

      document.querySelector(" ");
  • 通過css選擇器獲取所有

      document.querySelectorAll(" ");

    案例

              <!DOCTYPE html>
      <html lang="en">
      <head>
          <meta charset="UTF-8">
          <title>Title</title>
      </head>
      <body>
          <div id="div1">
              <p id="p1"><span>111</span></p>
              <p class="c1">2222</p>
              <span name="span1">3333</span>
          </div>
          <div class="div2">
              <p class="c1">5555</p>
              <span name="span1">6666</span>
              <p name="span1">7777</p>
              <span class="c1">8888</span>
          </div>
          <div>
              <p>9999</p>
              <span>0000</span>
          </div>
          <script type="text/javascript">
              //通過id獲取元素,一個網頁中一個id命名使用一次,所以不用加索引
              var a = document.getElementById('p1');
              a.onclick = function () {
                  alert('bug');
              };
              //通過標簽名獲取元素,需要加索引
              var b = document.getElementsByTagName('span')[0];
              b.onclick = function () {
                  alert('bug');
              };
              // 通過name獲取元素,需要加索引
              var c = document.getElementsByName('span1')[1];
              c.onclick = function () {
                  alert('bug');
              }
              // 通過classname獲取元素,需要加索引
              var d = document.getElementsByClassName('c1')[1];
              d.onclick = function () {
                  alert('bug');
              };
              // 通過css選擇器獲取一個元素
              // 單獨的標簽獲取第一個,如果選擇器里還嵌套標簽,第一個選擇器裡面的所有標簽都能獲取,不能索引
              // 選div時,第一個div標簽里的標簽都能獲取
              var e = document.querySelector('div');
              e.onclick = function(){
                  alert('bug');
              };
              // 通過class標簽獲取所有
              // 此時獲取的是id為div1下的所有的span標簽
              // div標簽里嵌套其他標簽時需要索引,表示第幾個div里的所有標簽都可以獲取
              // 單獨的標簽可以直接索引獲取
              // #div1或者.div2加上裡面的標簽需要索引獲取
              var f = document.querySelectorAll('div')[0];
              f.onclick = function () {
                  alert('bug');
              };
          </script>
      </body>
      </html>

    JavaScript簡單事件

    JS的基礎事件

  • 單擊事件:onclick
  • 雙擊事件:ondblclick
  • 滑鼠劃入:onmouseenter
  • 滑鼠划出:onmouseleave
  • 視窗變化:onresize

      // 瀏覽器視窗有變化時就會出現
      window.onresize = function () {
         alert("3245");
      };
  • 改變下拉框:onchange

      <select>
          <option value="1">蘋果</option>
          <option value="1">橘子</option>
          <option value="1">橙子</option>
      </select>
      <script type="text/javascript">
          var h = document.getElementsByTagName('select')[0];
          //改變下拉框里的值就會彈出
          h.onchange = function () {
              alert('改變了');
              };
      </script>

    操作標簽屬性

  • 合法屬性的增刪改查

      <!DOCTYPE html>
      <html lang="en">
      <head>
          <meta charset="UTF-8">
          <title>try</title>
      </head>
      <body>
      <div>
          <p id="p1" class="s1">我是一句話</p>
      </div>
      <script type="text/javascript">
         var a = document.getElementById("p1");
         // 增/改:無則增,有則改
         a.className="hahaha";
         // 查
         console.log(a.className);
         // 刪除
         a.removeAttribute("class");
         console.log(a);
      </script>
      </body>
      </html>
  • 自定義屬性的增刪改查

      <!DOCTYPE html>
      <html lang="en">
      <head>
          <meta charset="UTF-8">
          <title>try</title>
      </head>
      <body>
      <di
          <p id="p1" class="s1">我是一句話</p>
      </div>
      <script type="text/javascript">
         var a = document.getElementById("p1");
         // 增/改 無則增,有則改
         a.setAttribute("age","m");
         // 查,查到返回true,沒查到返回false
         console.log(a.hasAttribute("age"));
         // 刪除
         a.removeAttribute("age");
         console.log(a);
      </script>
      </body>
      </html>

    JS修改樣式

  • Obj.style.變數=變數值
  1.   <!DOCTYPE html>
      <html lang="en">
      <head>
          <meta charset="UTF-8">
          <title>try</title>
      </head>
      <body>
      <div id="div2" style="width: 100px;height: 100px;color: red;border:1px solid blue">
          <p id="p1" class="s1">我是一句話</p>
      </div>
      <script type="text/javascript">
         var b = document.getElementById("div2");
         b.style.width = "50px";
         b.style.height = "50px";
         console.log(b)
      </Script>
      </body>
      </html>
  2.   <!DOCTYPE html>
      <html lang="en">
      <head>
          <meta charset="UTF-8">
          <title>try</title>
      </head>
      <body>
      <div id="div2" style="width: 100px;height: 100px;color: red;border:1px solid blue">
          <p id="p1" class="s1">我是一句話</p>
      </div>
      <script type="text/javascript">
         var a = document.getElementById("div2");
         var b = document.getElementById("div2");
         b.onclick=function() {
                 a.style.width = "50px";
                 a.style.height = "50px";
             }
         console.log(b)
      </Script>
      </body>
      </html>

    數據類型

  • js提供了一種檢測當前變數的數據類型的方法,也就是typeof關鍵字

    JS的數據類型

  • 五種基本類型+object(複雜型)

    Number類型

  • Number類型包含整數和浮點數(浮點數數值必須包含一個小數點,且小數點後面至少有一位數字)兩種值

      var a = 123;
      console.log(typeof a);
  • NaN:非數字類型
  • isNaN() 函數用於檢查其參數是否是非數字值

      isNaN(123)  //false   
      isNaN("hello")  //true

    String類型

  • 字元串有length屬性
  • 字元串轉換:轉型函數String(),適用於任何數據類型(null,undefined 轉換後為null和undefined);toString()方法(null,defined沒有toString()方法)
  • 字元串要用引號

      var a = "123";
      console.log(typeof a);

    Boolean類型

  • 該類型只有兩個值,true和false

      var a = true;
      console.log(typeof a);

    Undefined類型

  • 只有一個值,即undefined值。使用var聲明瞭變數,但未給變數初始化值,那麼這個變數的值就是undefined

      var a;
      console.log(typeof a);

    Null類型

  • null類型被看做空對象指針,前文說到null類型也是空的對象引用

      var a = null;       //object
      console.log(typeof a);
  • null類型進行typeof操作符後,結果是object,原因在於null類型被當做一個空對象引用

    Object類型

  • js中對象是一組屬性與方法的集合,這裡就要說到引用類型了,引用類型是一種數據結構,用於將數據和功能組織在一起,引用類型有時候也被稱為對象定義,因為它們描述的是一類對象所具有的屬性和方法

    引用類型

    Object類型

  • 我們看到的大多數類型值都是Object類型的實例
  • 創建Object實例的方式有兩種
    • 第一種是使用new操作符後跟Object構造函數,如下所示

        var person = new Object();
        person.name = "Micheal";
        person.age = 24;
    • 第二種方式是使用對象字面量表示法,如下所示

        var person = {
          name : "Micheal",
          age : 24
        };

      Array類型

  • 數組的每一項可以用來保存任何類型的數據,也就是說,可以用數組的第一個位置來保存字元串,第二個位置保存數值,第三個位置保存對象等等
  • 數組的大小是可以動態調整的
  • 創建數組的基本方式有兩種
    • 第一種是使用Array構造函數,如下所示

        var colors = new Array("red","blue","yellow");
    • 第二種是使用數組字面量表示法,如下所示

        var colors = ["red","blue","yellow"];

      Function類型

  • 每個函數都是Function類型的實例,而且都與其他引用類型一樣具有屬性和方法,函數通常是使用函數聲明語法定義的,如下所示

      function sum(num1,num2){
        return num1 + num2;
      };
  • 這和使用函數表達式定義函數的方式相差無幾

      var sun = function (){
        return sum1 + sum2;
      };

    案例

      var name = 'xiaoge';
      alert(typeof name);//string
      var age = 15;
      alert(typeof age);//number
      var flag = true;
      alert(typeof flag);//boolean
      var a;//undefined
      alert(typeof a);
      var b = null;
      alert(typeof b);//object
      var arr = [1,2,3];//object
      alert(typeof arr);
      var user = {
          name:'xiaoge',
          age:18
      };
      alert(typeof user);//object
      alert(typeof console.log());//undefined
      var say = function () {
          alert(name+'很帥');
      };
      alert(typeof say);//function
      alert(say())//xiaoge很帥//undefined

    練習

      <!DOCTYPE html>
      <html lang="en">
      <head>
          <meta charset="UTF-8">
          <title>Title</title>
          <link rel="stylesheet" href="css/reset.css">
          <link rel="stylesheet" href="css/test.css">
          <script src="js/test.js"></script>
      </head>
      <body>
      <div class="d1">
          屬性名:<input type="text" class="an"><br>
          屬性值:<input type="text" class="av"><br>
          <input type="button" value="設置" class="set1">
      </div>
      <div class="d2" style="width: 200px; height: 200px; background-color: yellow; line-height: 200px; text-align: center;">我就是我</div>
      <script type="text/javascript">
          var moumov = document.getElementsByClassName('d2')[0];
          moumov.onmouseenter = function () {
              moumov.innerText = '是我還是我';
              moumov.style.background = 'blue';
          };
          moumov.onmouseleave = function () {
              moumov.innerText = '我就是我';
              moumov.style.background = 'yellow';
          };
          var inp = document.getElementsByTagName('input');
          inp[2].onclick = function () {
              var attr = inp[0].value;
              var attrs = inp[1].value;
              moumov.style[attr] = attrs;
          };
      </script>
      </body>
      </html>

    在這裡插入圖片描述


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • datagrid combobox輸入框下拉(取消)選值和編輯已選值處理 by:授客 QQ:1033553122 測試環境 jquery-easyui-1.5.3 需求場景 如下,在datagrid中新增、編輯記錄: 新增時通過點選指定combobox下拉列表項來實現選擇、取消選擇所點項(多選com ...
  • 一、JavaScript緩衝公式ease 原生JS沒有自己的緩衝公式,但是你要自己推理的話,必須要懂一些數學和物理公式: 讓div用100毫秒(幀),從left100px的位置變化到left800px的位置,要求勻速: 大致計算如下: 毫秒編號(幀) 距離起點的增量 目前絕對的位置 0 0 100 ...
  • js的常用方法和對象學習String對象:操作字元的。 使用:字元串.函數名。 大小寫轉換: toUpperCase() 轉換大寫 toLowerCase() 轉換小寫 function testString(){ var str="abcdefg"; //大小寫轉換 alert(str.toUpp ...
  • 一、概述 1、HTML5是什麼? HTML5是最新一代的HTML標準,它不僅擁有HTML中所有的特性,而且增加了許多實用的特性,如視頻、音頻、畫布(canvas)等。 2012年12月17日,萬維網聯盟(W3C)正式宣佈凝結了大量網路工作者心血的HTML5規範已經正式定稿。根據W3C的發言稿稱:“H ...
  • HTML文檔是展示Web前段開發工程師成果的最好表示方式,為了便於文檔規範化管理,在編寫HTML文檔時,必須遵循HTML文件命名規則。 HTML文檔命名規則如下: (1)文檔的擴展名為htm或者html,建議統一用html。 (2)文檔名稱只可由英文字母、數字或下劃線組成,建議以字母或下劃線開始。 ...
  • (1)HTML標記是由尖括弧包圍的關鍵詞。所有標記均以“<”開始,以“>”結束。結束的標記在開始名稱前加上斜杠“/”。例如頭部標記格式如下所示:<head> ……</head> (2)根據標記類型,正確書寫標記,單個標記最好在右尖括弧前加1個斜杠“/”,如換行標記是單個標記“<br>”,成對標記最好 ...
  • 1.CSS 中鏈接的使用 2.CSS 中游標的使用 3.CSS 中 DHTML 的使用 4.CSS 中縮放的使用 1 18 8. .1 1 S CSS 中 鏈接的使用 超鏈接偽類屬性 a:link 表示該超鏈接文字尚未被點選 a:visited 表示該超鏈接文字已被點選過 a:active 表示該超 ...
  • width="" height=""屬性可根據要求自己設定 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...