前端開發JS——快速入門

来源:https://www.cnblogs.com/aitiknowledge/archive/2019/09/16/11527427.html
-Advertisement-
Play Games

1、JS的核心標準ECMAScript 組成 ECMAScript >核心語法標準 DOM >對文檔節點的操作 BOM >對瀏覽器的操作 2、JS的註釋: 單行註釋 //註釋內容 多行註釋 /* 註釋內容 */ 3、JS的保留字和關鍵字 關鍵字:有特殊功能的單詞如: break do try typ ...


1、JS的核心標準ECMAScript        組成      ECMAScript------>核心語法標準      DOM------------->對文檔節點的操作      BOM------------->對瀏覽器的操作   2、JS的註釋:          單行註釋                //註釋內容           多行註釋                /*                     註釋內容                */   3、JS的保留字和關鍵字   關鍵字:有特殊功能的單詞如:
break do try typeof  case  else 
new var catch  finally return void
continue for switch while debugger this 
function  with default  if  throw   instanceof
delete   in        
            保留字:將來有可能成為關鍵字的單詞如:  
abstract     enum            int             short       boolean       export      
interface       static byte          extends       long            super      
char            final         native          synchronized class          float           
package      throws    const         goto        private         transient
debugger   double       implements protected volatile       import   
public          
  4、JS的變數          聲明:用var聲明變數(變數都是弱類型的)           var a;    var a = 12;    var a=1, b=2, c=3;            變數命名規則:           1、字母、數字、下劃線、$組成           2、數字、下劃線不能開頭(下劃線可以開頭,儘量不要使用)           3、儘量採用駝峰式命名法           4、不能使用關鍵字和保留字   註意:儘量寫完一段語句,在其後面添加分號“ ; "   5、數據類型:    檢查數據類型的關鍵字:typeof   例如:console.log(typeof a);    //檢查變數a的類型    檢查變數是否屬於某一個數據類型:instanceof   例如:console.log(a instanceof object);
     基本數據類型5種
          undefined類型 只有一個值就是undefined值,undefined繼承null
               1)聲明但沒有初始化的變數
                    var a;//a的值是undefined
               2)顯示將undefined值賦值給一個變數
                    var a =undefined;
          null類型 空,一般用來存放一個空對象的指針,就只有一個值null      null==undefined;    //true
               var a = null;
          boolean類型
               有兩個值:true、false
               var a = true;
               var a = false;

          number類型                var a = 12;                number類型還有一個值NaN,NaN不能用雙等去判斷,因為任何值與NaN都不會相等,console.log(typeof 1/"str");   //NaN                  判斷一個值是不是NaN用isNaN(變數名或者值)方法判斷,他判斷的是不是 不是一個數值
               number類型還有兩個值:Infinity和-Infinity值,判斷數值是否在數值類型範圍內:isFinite()
          string類型(javascript中沒有字元類型的概念)
               var a = "true";                var a = 'false';     //列印字元串的長度     console.log(a.length);   //5                 註:和上面boolean的值和類型都是不相等的        引用類型3種
          object類型   對象
               var a = {};
               var a = {'name': 'zhangsan'};      console.log(a["name"])
               註:上述的name屬性可以不打引號;類似於python的字典,任意數據都能存儲,訪問方式也類似於python
          array類型    數組    列印的時候會是一個object對象類型
               var arr = [1,2,3,4,5];
               註:類似於python的列表,任意數據都能存儲
          function類型   函數
               function test(){}                var test = function(){}             如果函數();在函數定義之前,瀏覽器會自動將函數提升到執行函數的前面      註:使用沒有聲明過的變數,編輯器會報錯;如果在之後聲明或者賦值只會列印undefined值,就不會報錯如:             1)console.log(c);    //這裡就會報錯;             2)console.log(c);   //這裡就不會報錯,並且列印undefined                  var c;                   3)console.log(c);   //這裡就會先列印undefined值                  var c = 1;                  console.log(c);  //之後再列印1值                  在JS中變數聲明會提升 6、運算符:          ==就是判斷值是否相等          ===就是判斷“值是否相等”和“類型是否相等”
7、JS特點
     1)瀏覽器端執行,node環境執行
     2)解釋性語言
     3)弱類型語言      4)自上而下執行   8、運算符      1)操作運算符   +、-、*、/、%,和Java、python等高級語言的使用相同        2)一元運算符   ++、--,也是和Java語言的使用相同,包含前自增/減(先做運算再使用)、後自增/減(先使用再做運算)
     +/-,可以將其他類型轉換成number類型      console.log(+'123');            //輸出123      -'123'輸出-123, -'-123'輸出123      console.log(+true);             //輸出1      console.log(+false);            //輸出0      console.log(+null);             //輸出0           -null輸出-0      console.log(+undefined);   //輸出NaN      console.log(+'');                 //輸出0      console.log(+' ');                //輸出0        3)賦值運算符   =、+=、-=、*=、/=、%=
          var a = 2;
          var a += 2;   //a=a+2
         其他運算符和這個很類似
     4)比較運算符
          1 == ‘1’          //true
          true == ‘true’  //false
          1 == true            //true   
          0 == null           //false         
          註:只有null和null相等的,undefined和undefined相等的 undefined == null值為true,這三者才為true
                 
     總結:number和string看起來一樣就為true;
               boolean轉換為number一樣,就為true;(true -> 1,false -> 0)
          如果進行運算boolean類型根據上述轉換,再和number值運算
               string和boolean,即使看起來一樣,也為false;
    
     5)邏輯運算符   (表示false的值有null、NaN、undefined、false、0、“”)      總結:邏輯與和邏輯或的返回值都是跳出判斷的值,即哪個操作跳出來就返回哪個操作數        非!(NOT) 可以將任何類型的數據轉換成boolean類型      !!a可以看成Boolean(a),  boolean類型包裝器            6)三目運算符  (variable = boolean_expression ? true_value : false_value;)           可以簡化if···else···語句      7)兩者運算 m+n    1、當m,n不為String,Object類型的時候,先將m,n轉換為Number類型,轉換Number類型可以參考類型轉換知識點,然後再進行計算    2、當m,n有一個為String,無論另一個操作數為何(但不為對象)都要轉換為String,然後再進行拼接     3、當m,n 有一個為對象,如果該對象既重寫toString,又重寫了valueOf方法,先調用valueOf方法獲 取返回值,將該返回值和另外一個操作數進行運算。如果該對象沒有重寫valueOf方法,將調用 toString方法獲取返回值,將該返回值和另外一個操作數進行運算。 
//對象相加
var obj = {
    "name": "zhangsan",
    "age": 20,
    toString: function(){
        return "this is a obj"
    },
    valueOf: function(){
        return "this is a func"
    }
}
var c = "str"
console.log(obj);
console.log(c+obj);   //strthis is a func
alert(obj);      //this is a obj

 

  9、類型轉換   假性值:表示false的值有null、NaN、undefined、false、0、“”,這個尤為重要
     1)其他類型轉換string類型:
          ①toString()函數   另外null、undefined不能轉換,其他類型都能
               var a = 12;
               a.toString();    //'12',如果括弧里有數字,就需要按照這個數字的進位來轉換,例如  a.toString(8);    //"14"
               註:number類型的具體值不可以直接調用toString()方法,但可以用括弧括起來使用,括弧括起來的是大類型數據,基礎數據類型沒有屬性和方法
          ②String()函數 任意類型都能轉換
          ③字元串的拼接+

     2)其他類型轉換Boolean類型 
          ①Boolean()函數 任意類型都可轉換
               假性值都為false,其他的值都為true
          ②非!(NOT) 可以將任何類型的數據轉換成boolean類型
          !!a可以看成Boolean(a),boolean類型包裝器

     3)其他類型轉換number類型  
          ①Number()函數(不解析八進位,可以解析十六進位)轉換規則如下:     假性值當中只有undefined是轉換NaN,其他的都轉換0     字元串的字面值為數字的,就直接轉換,或者其前面有加號”+“,都可以直接轉換     其他的都轉換NaN
          ②parseInt()函數(不解析八進位,可以解析十六進位)    //如果有兩個參數,第一個參數是第二個參數進位的表示,例如  console.log(parseInt("1010", 2));   //10                    如果第一個字元不是數字或者不是加號和減號,parseInt() 就會返回NaN,同樣的,用parseInt() 轉換空字元串也會返回NaN。                    如果首位為數值,依次向後解析,找到連續的數值,直到遇到第一個非數值的,將之前獲取的數值轉換為Number返回           ③parseFloat()函數(不解析八進位,也不解析十六進位)
               如果首位為數值,依次向後解析,找到連續的數值,直到遇到第一個非數值的,將之前獲取的數值轉換為Number返回

          註:parseFloat() 所解析的字元串中第一個小數點是有效的,而parseInt() 遇到小數點會停止解析,因為小數點並不是有效的數字字元。
          parseInt和parseFloat都將null、undefined、boolean解析為NaN

註:console.log()會返回一個值裡面包含的所有空格,但是返回到頁面上就不會解析連續的空格      4)+ 自動類型轉換                           
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • <!DOCTYPE>標簽的定義 <!DOCTYPE> 聲明位於文檔中最前面的位置,處於<html>標簽之前。<!DOCTYPE> 聲明不是一個HTML標簽,它是告知Web瀏覽器該頁面使用了哪種HTML版本(規範),瀏覽器用此版本(規範)對該文檔進行解析,渲染。 <!DOCTYPE> 可聲明的 DTD ...
  • 利用快速原型獲取軟體需求 在客戶 開發商 用戶 之間 旨在啟發客戶 引導客戶真正知道和瞭解自己的可行需求 快速搭建原型 高效準確地確定用戶需求 我們可能要用到一個軟體需求方面的知識-快速原型 例子 以CSS語言為例從一個最最最的教務系統入手 代碼如下: <html><center><h2>歡迎返校! ...
  • 以下通過一段示例代碼,說明原型模型中的基本概念以及知識點。 部分摘自《JavaScript高級程式設計(第3版)》 ...
  • 前言 最近在看 React 的新語法—— ,只能一句話概括:React 語法真的是越來越強大,越寫代碼越少。 強烈推薦還沒看 React Hooks 的同學去學習下,這會讓你寫react 項目變得非常爽! 以前 React 組件可以看成是: 無狀態組件(function定義)和有狀態組件(class ...
  • [TOC] 1. 繼承性 繼承性:在css有某些屬性是可以繼承下來,如 color,text xxx,line height,font xxx,letter spacing,word spacing是可以繼承下來,但有些屬性是不可以繼承下來的,如 border:1px solid green; 2. ...
  • [TOC] css: 層疊樣式表 1. css引入方式 行內樣式 內嵌式 在head標簽內部書寫style 外接式 三種引入方式的優先順序: 1.行內樣式 內嵌式和外接式, 2.內嵌和外接要看誰在後面,在後面的優先順序高 2. css選擇器 2.1 基礎選擇器 1.id選擇器 特定屬性的元素(標簽)、唯 ...
  • HTML HTML 超文本標記語言 HTML特征: 對換行和空格不敏感 空白摺疊 1.1 HTML標簽 標簽也稱為標記。 標簽的種類: 1.雙閉合標簽 2.單閉合標簽 1.1.1 head標簽 meta 提供基本網站元信息的標簽 title 顯示網站的標題 link 鏈接css資源文件、網站圖標 s ...
  • 什麼是 JavaScript? JavaScript 是一種直譯式腳本語言,一種輕量級的腳本語言 它可以在網頁上實現複雜的功能,網頁展現給你的不再是簡單的靜態信息,而是實時的內容更新,互動式的地圖,2D/3D 動畫,滾動播放的視頻等等。JavaScript 怎能缺席。它是標準 Web 技術蛋糕的第三 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...