整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          前端基礎:JavaScript

          avaScript概述

          • 1992年Nombas開發出C-minus-minus(C--)的嵌入式腳本語言(最初綁定在CEnvi軟件中).后將其改名ScriptEase.(客戶端執行的語言)
          • Netscape(網景)接收Nombas的理念,(Brendan Eich)在其Netscape Navigator 2.0產品中開發出一套livescript的腳本語言.Sun和Netscape共同完成.后改名叫Javascript
          • 微軟隨后模仿在其IE3.0的產品中搭載了一個JavaScript的克隆版叫Jscript.
          • 為了統一三家,ECMA(歐洲計算機制造協會)定義了ECMA-262規范.國際標準化組織及國際電工委員會(ISO/IEC)也采納 ECMAScript 作為標準(ISO/IEC-16262)。從此,Web 瀏覽器就開始努力(雖然有著不同的程度的成功和失敗)將 ECMAScript 作為 JavaScript 實現的基礎。EcmaScript是規范.

          二 JavaScript的基礎

          1 直接編寫
              <script>
                  alert('hello yuan')
              </script>
          2 導入文件
              <script src="hello.js"></script>

          1、聲明變量時不用聲明變量類型. 全都使用var關鍵字;

          var a;<br>a=3;

          2、一行可以聲明多個變量.并且可以是不同類型

          var name="yuan", age=20, job="lecturer";

          3、聲明變量時 可以不用var. 如果不用var 那么它是全局變量

          4、變量命名,首字符只能是字母,下劃線,$美元符 三選一,余下的字符可以是下劃線、美元符號或任何字母或數字字符且區分大小寫,x與X是兩個變量 

          常量 :直接在程序中出現的數據值

          標識符:

          1. 由不以數字開頭的字母、數字、下劃線(_)、美元符號($)組成
          2. 常用于表示函數、變量等的名稱
          3. 例如:_abc,$abc,abc,abc123是標識符,而1abc不是
          4. JavaScript語言中代表特定含義的詞稱為保留字,不允許程序再定義為標識符

          2.3.1 數字類型(number)

          • 不區分整型數值和浮點型數值;
          • 所有數字都采用64位浮點格式存儲,相當于Java和C語言中的double格式
          • 能表示的最大值是±1.7976931348623157 x 10308
          • 能表示的最小值是±5 x 10 -324  

          整數:
          在JavaScript中10進制的整數由數字的序列組成
          精確表達的范圍是-9007199254740992 (-253) 到 9007199254740992 (253)
          超出范圍的整數,精確度將受影響
          浮點數:
          使用小數點記錄數據
          例如:3.4,5.6
          使用指數記錄數據
          例如:4.3e23 = 4.3 x 1023

          16進制和8進制數的表達:
          16進制數據前面加上0x,八進制前面加0;16進制數是由0-9,A-F等16個字符組成;8進制數由0-7等8個數字組成

          16進制和8進制與2進制的換算:

          2.3.2 字符串類型(string)

          是由Unicode字符、數字、標點符號組成的序列;字符串常量首尾由單引號或雙引號括起;JavaScript中沒有字符類型;常用特殊字符在字符串中的表達;
          字符串中部分特殊字符必須加上右劃線\;常用的轉義字符 \n:換行 \':單引號 \":雙引號 \:右劃線

          2.3.3 布爾類型(boolean)

          Boolean類型僅有兩個值:true和false,也代表1和0,實際運算中true=1,false=0
          布爾值也可以看作on/off、yes/no、1/0對應true/false
          Boolean值主要用于JavaScript的控制語句,例如:

          if (x==1){
                y=y+1;
          }else{
                y=y-1;
                }

          2.3.4 Null & Undefined類型

          Undefined類型

          Undefined 類型只有一個值,即 undefined。當聲明的變量未初始化時,該變量的默認值是 undefined。

          當函數無明確返回值時,返回的也是值 "undefined";

          Null類型

          另一種只有一個值的類型是 Null,它只有一個專用值 null,即它的字面量。值 undefined 實際上是從值 null 派生來的,因此 ECMAScript 把它們定義為相等的。

          盡管這兩個值相等,但它們的含義不同。undefined 是聲明了變量但未對其初始化時賦予該變量的值,null 則用于表示尚未存在的對象(在討論 typeof 運算符時,簡單地介紹過這一點)。如果函數或方法要返回的是對象,那么找不到該對象時,返回的通常是 null

          2.4 運算符

          算術運算符:
              +   -    *    /     %       ++        -- 
          
          比較運算符:
              >   >=   <    <=    !=    ==    ===   !==
          
          邏輯運算符:
               &&   ||   !
          
          賦值運算符:
              =  +=   -=  *=   /=
          
          字符串運算符:
              +  連接,兩邊操作數有一個或兩個是字符串就做連接運算

          2.4.1 算術運算符

          注意1: 自加自減

          假如x=2,那么x++表達式執行后的值為3,x--表達式執行后的值為1;i++相當于i=i+1,i--相當于i=i-1;
          遞增和遞減運算符可以放在變量前也可以放在變量后:--i

          var i=10;
          console.log(i++);
          console.log(i);
          console.log(++i);
          console.log(i);
          console.log(i--);
          console.log(--i);

          注意2: 單元運算符

          - 除了可以表示減號還可以表示負號 例如:x=-y

          + 除了可以表示加法運算還可以用于字符串的連接 例如:"abc"+"def"="abcdef"

          注意3: NaN

              var d="yuan";
              d=+d;
              alert(d);//NaN:屬于Number類型的一個特殊值,當遇到將字符串轉成數字無效時,就會得到一個NaN數據
              alert(typeof(d));//Number
          
              //NaN特點:
              
              var n=NaN;
              
              alert(n>3);
              alert(n<3);
              alert(n==3);
              alert(n==NaN);
              
              alert(n!=NaN);//NaN參與的所有的運算都是false,除了!=

          2.4.2 比較運算符

          > >= < <= != == === !==

          2.4.3 邏輯運算符

          if (2>1 && [1,2]){
              console.log("條件與")
          }
          
          // 思考返回內容?
          console.log(1 && 3);
          console.log(0 && 3);
          console.log(0 || 3);
          console.log(2 || 3);

          2.5 流程控制

          • 順序結構(從上向下順序執行)
          • 分支結構
          • 循環結構

          2.5.1 順序結構

              <script>
                  console.log(“星期一”);
                  console.log(“星期二”);
                  console.log(“星期三”);
              </script>

          2.5.1 分支結構

          if-else結構:

          if (表達式){
             語句1;
             ......
             } else{
             語句2;
             .....
             }

          功能說明:如果表達式的值為true則執行語句1,否則執行語句2

          if-elif-else結構:

          if (表達式1) {
              語句1;
          }else if (表達式2){
              語句2;
          }else if (表達式3){
              語句3;
          } else{
              語句4;
          }

          switch-case結構

          switch基本格式
          switch (表達式) {
              case 值1:語句1;break;
              case 值2:語句2;break;
              case 值3:語句3;break;
              default:語句4;
          }
          switch(x){
          case 1:y="星期一";    break;
          case 2:y="星期二";    break;
          case 3:y="星期三";    break;
          case 4:y="星期四";    break;
          case 5:y="星期五";    break;
          case 6:y="星期六";    break;
          case 7:y="星期日";    break;
          default: y="未定義";
          }

          2.5.2 循環結構

          for循環:

          語法規則:
          
              for(初始表達式;條件表達式;自增或自減)
              {
                      執行語句
                      ……
              }

          功能說明:實現條件循環,當條件成立時,執行語句1,否則跳出循環體

          for( 變量 in 數組或對象)
              {
                  執行語句
                  ……
              }

          while循環:

          語法規則:
          
          while (條件){
              語句1;
              ...
          }

          功能說明:運行功能和for類似,當條件成立循環執行語句花括號{}內的語句,否則跳出循環;同樣支持continue與break語句。

          2.5.3 異常處理

          try {
              //這段代碼從上往下運行,其中任何一個語句拋出異常該代碼塊就結束運行
          }
          catch (e) {
              // 如果try代碼塊中拋出了異常,catch代碼塊中的代碼就會被執行。
              //e是一個局部變量,用來指向Error對象或者其他拋出的對象
          }
          finally {
               //無論try中代碼是否有異常拋出(甚至是try代碼塊中有return語句),finally代碼塊中始終會被執行。
          }

          三 JavaScript的對象

          在JavaScript中除了null和undefined以外其他的數據類型都被定義成了對象,也可以用創建對象的方法定義變量,String、Math、Array、Date、RegExp都是JavaScript中重要的內置對象,在JavaScript程序大多數功能都是基于對象實現的。

          <script language="javascript">
          var aa=Number.MAX_VALUE; 
          //利用數字對象獲取可表示最大數
          var bb=new String("hello JavaScript"); 
          //創建字符串對象
          var cc=new Date();
          //創建日期對象
          var dd=new Array("星期一","星期二","星期三","星期四"); 
          //數組對象
          </script>

          3.1 String對象

          字符串對象創建

          字符串創建(兩種方式)
          ① 變量 = “字符串”
          ② 字串對象名稱 = new String (字符串)

          var str1="hello world";

          var str1= new String("hello word");



          字符串對象的屬性和函數

                 x.length         ----獲取字符串的長度
          
           x.toLowerCase()        ----轉為小寫
           x.toUpperCase()        ----轉為大寫
           x.trim()               ----去除字符串兩邊空格       
          
          
          ----字符串查詢方法
          
          x.charAt(index)         ----str1.charAt(index);----獲取指定位置字符,其中index為要獲取的字符索引
          
          x.indexOf(findstr,index)----查詢字符串位置
          x.lastIndexOf(findstr)  
          
          x.match(regexp)         ----match返回匹配字符串的數組,如果沒有匹配則返回null
          x.search(regexp)        ----search返回匹配字符串的首字符位置索引
          
                                  示例:
                                  var str1="welcome to the world of JS!";
                                  var str2=str1.match("world");
                                  var str3=str1.search("world");
                                  alert(str2[0]);  // 結果為"world"
                                  alert(str3);     // 結果為15
                                  
          
          ----子字符串處理方法
          
          x.substr(start, length) ----start表示開始位置,length表示截取長度
          x.substring(start, end) ----end是結束位置
          
          x.slice(start, end)     ----切片操作字符串
                                  示例:
                                      var str1="abcdefgh";
                                      var str2=str1.slice(2,4);
                                      var str3=str1.slice(4);
                                      var str4=str1.slice(2,-1);
                                      var str5=str1.slice(-3,-1);
          
                                      alert(str2); //結果為"cd"
                                      
                                      alert(str3); //結果為"efgh"
                                      
                                      alert(str4); //結果為"cdefg"
                                      
                                      alert(str5); //結果為"fg"
          
          x.replace(findstr,tostr) ----    字符串替換
          
          x.split();                 ----分割字符串
                                           var str1="一,二,三,四,五,六,日"; 
                                          var strArray=str1.split(",");
                                          alert(strArray[1]);//結果為"二"
                                          
          x.concat(addstr)         ----    拼接字符串
          

          3.2 Array對象

          3.2.1 數組創建

          創建數組的三種方式:

          日常開發中,為了方便數據的輸入和輸出,JavaScript提供了一些常用的輸入輸出語句,具體如表1-3所示。
          表1常用的輸入輸出語句

          類型

          語句

          說明

          輸入

          prompt()

          用于在瀏覽器中彈出輸入框,用戶可以輸入內容

          輸出

          alert()

          用于在瀏覽器中彈出警告框

          document.write()

          用于在網頁中輸出內容

          console.log()

          用于在控制臺中輸出信息

          接下來將分別演示document.write0、console.log0和promptO的使用。

          1. document.write()

          document.write0的輸出內容中如果含有HTML標簽,會被瀏覽器解析。下面利用documenL.write0在頁面中輸出“我是document.write0語句!”,示例代碼如下。

          document.write('我是document.write()語句!');

          2. console.log()

          利用console.log0語句在控制臺輸出“我是console.log0語句!”,示例代碼如下。

          console.log('我是console.log()語句!');

          console:.log0的輸出結果需要在瀏覽器的控制臺中查看。在Chrome 瀏覽器中按“F12”鍵(或在網頁空白區域右擊,在彈出的菜單中選擇“檢查”)啟動開發者工具,然后切換到“Console”(控制臺)面板,即可看到console.log0的輸出結果。

          3.prompt()

          利用prompt0語句實現在頁面中彈出一個帶有提示信息的輸入框,示例代碼如下。

          prompt(請輸入姓名:');

          上述示例代碼運行后,將在頁面中彈出一個輸人框并提示用戶“請輸人姓名:”提示框。

          英國《太陽報》報道,菲律賓一位網頁設計師為了向自己的職業致敬,給自己的兒子取名為“Hypertext Mark-up Language(超文本標記語言)”。這位叫做Mac Pascual的父親表示,給新生兒取個獨一無二的名字是他們家族的傳統。他對自己的工作充滿熱情,決定給自己的寶寶取名為HTML。據媒體報道,這個寶寶出生在當地的布拉坎醫療集團合作醫院,體重2.25公斤。

          6月10日,HTML的姑姑Salie Rayo Pascual拍下了這個可愛侄子的照片,并把照片發布到了Facebook上,標題是“HTML,歡迎來到這個世界”。這篇帖子很快引起了網友們的關注,大家紛紛評論并轉發了這個帖子。不過,還是有一些社交媒體用戶對這個奇特的名字進行了一番嘲笑,并嘲諷般地建議他給未來的孩子用一些其他的編碼縮寫來當名字,比如“Results-based management system”、“JavaScript”,或者是“Cascading Style Sheets(CSS)”。還有人對寶寶的名字表示了擔憂評論道:“將來,他可能會成為被欺負和被嘲笑的對象。”

          HTML的爸爸解釋說,他自己的名字“Mac”就是“Macaroni'85”的縮寫,而他姐姐的名字是“Spaghetti'88(意大利面)”的縮寫。他的姐姐有兩個孩子,分別叫“Cheese Pimiento(辣椒奶酪)”和“Parmesan Cheese(帕爾瑪奶酪)”,所以他們的小名分別是“Chippy”和“Peewee”。HTML和其他名字不同尋常的嬰兒一樣,從出生起就成為了人們討論的話題。特斯拉的首席執行官Elon Musk和Claire Boucher(Grimes)就給自己的兒子取名為“X ? A-12 Musk”,因而上了新聞頭條。今年早些時候,模特兼女演員Emily Ratajkowski 通過社交媒體宣布,她將給自己剛出生的寶寶取名為“Sylvester Apollo Bear”。(中國青年網編譯報道)

          來源:中國青年網


          主站蜘蛛池模板: 无码人妻精品一区二区三区99性 | 波多野结衣中文字幕一区| 日韩精品一区二区三区中文版| 中文字幕一区二区三区乱码| 亚洲AV日韩AV一区二区三曲| 亚洲av无码一区二区三区不卡 | 国产亚洲综合一区柠檬导航| 夜夜精品视频一区二区| 亚洲AV无码一区二区三区人| 中文字幕在线视频一区| 一区二区三区在线观看免费| 国产成人av一区二区三区在线观看| 久久久无码一区二区三区| 久久久91精品国产一区二区三区| 一区二区三区91| 国产伦一区二区三区高清 | 在线免费一区二区| 日韩伦理一区二区| 在线观看一区二区三区视频| 亚洲综合一区无码精品| 亚洲高清一区二区三区电影 | 亚洲国产激情一区二区三区 | 亚洲一区二区三区香蕉| 中文国产成人精品久久一区| 亚洲一区二区三区在线视频| 一区二区三区在线观看视频| 国产福利电影一区二区三区,亚洲国模精品一区 | 精品国产一区在线观看| 国产精品va一区二区三区| 国产精品亚洲一区二区三区在线观看| 久久精品国内一区二区三区 | 立川理惠在线播放一区| 日韩视频在线观看一区二区| 一区二区三区精品视频| 中文乱码精品一区二区三区| 无码少妇一区二区性色AV | 国产精品伦子一区二区三区| 人成精品视频三区二区一区| 中文字幕一区在线播放| 日韩国产精品无码一区二区三区| 国产乱码精品一区三上|