js一篇彙總

来源:http://www.cnblogs.com/roucheng/archive/2016/05/29/jshuizong.html
-Advertisement-
Play Games

一.js的數據類型和變數 JavaScript 有六種數據類型。主要的類型有 number、string、object 以及 Boolean 類型,其他兩種類型為 null 和 undefined。 String 字元串類型:字元串是用單引號或雙引號來說明的。(使用單引號來輸入包含引號的字元串。)如 ...


一.js的數據類型和變數

JavaScript 有六種數據類型。主要的類型有 number、string、object 以及 Boolean 類型,其他兩種類型為 null 和 undefined。 

   String 字元串類型:字元串是用單引號或雙引號來說明的。(使用單引號來輸入包含引號的字元串。)如:“The cow jumped over the moon.”

   數值數據類型:JavaScript 支持整數和浮點數。整數可以為正數、0 或者負數;浮點數可以包含小數點、也可以包含一個 “e”(大小寫均可,在科學記數法中表示“10的冪”)、或者同時包含這兩項。

  Boolean 類型:可能的 Boolean 值有 true 和 false。這是兩個特殊值,不能用作 1 和 0。

  Undefined 數據類型:一個為 undefined 的值就是指在變數被創建後,但未給該變數賦值以前所具有的值。

  Null 數據類型:null 值就是沒有任何值,什麼也不表示。

  object類型:除了上面提到的各種常用類型外,對象也是JavaScript中的重要組成部分,這部分將在後面章節詳細介紹。

  在 JavaScript 中變數用來存放腳本中的值,這樣在需要用這個值的地方就可以用變數來代表,一個變數可以是一個數字,文本或其它一些東西。

   JavaScript是一種對數據類型變數要求不太嚴格的語言,所以不必聲明每一個變數的類型,變數聲明儘管不是必須的,但在使用變數之前先進行聲明是一種好的習慣。可以使用 var 語句來進行變數聲明。如:var men = true; // men 中存儲的值為 Boolean 類型。

  變數命名:JavaScript 是一種區分大小寫的語言,因此將一個變數命名為 computer 和將其命名為 Computer是不一樣的。 
  另外,變數名稱的長度是任意的,但必須遵循以下規則: 
   1.第一個字元必須是一個字母(大小寫均可)、或一個下劃線(_)或一個美元符 ($)。 
   2.後續的字元可以是字母、數字、下劃線或美元符。 
   3.變數名稱不能是保留字。

 /* 何問起 hovertree.com */

二.js語句及語法

JavaScript所提供的語句分為以下幾大類: 
   1.變數聲明,賦值語句:var。 
   語法如下: var 變數名稱 [=初始值] 
   例:var computer = 32 //定義computer是一個變數,且有初值為32。

   2.函數定義語句:function,return。 
   語法如下: function 函數名稱 (函數所帶的參數) 
        { 
          函數執行部分 
         } 

         return 表達式 //return語句指明將返回的值。 
   例:function square ( x ) 
     { 
       return x*x 
      }

   3.條件和分支語句:if...else,switch。 
     if...else語句完成了程式流程塊中分支功能:如果其中的條件成立,則程式執行緊接著條件的語句或語句塊;否則程式執行else中的語句或語句塊。     語法如下: if (條件) 
         { 
            執行語句1 
          }else{ 
            執行語句2 
          } 
     例:if (result == true) 
        { 
          response = “你答對了!” 
         }else{ 
          response = “你錯了!” 
         } 

   分支語句switch可以根據一個變數的不同取值採取不同的處理方法。 
   語法如下: switch (expression) 
        { 
         case label1: 語句串1; 
         case label2: 語句串2; 
         case label3: 語句串3; 
            ... 
         default: 語句串3; 
        } 
   如果表達式取的值同程式中提供的任何一條語句都不匹配,將執行default 中的語句。

   4. 迴圈語句:for, for...in,while,break,continue。 
     for語句的語法如下: for (初始化部分;條件部分;更新部分) 
               { 
                 執行部分... 
                } 
     只要迴圈的條件成立,迴圈體就被反覆的執行。 
     for...in語句與for語句有一點不同,它迴圈的範圍是一個對象所有的屬性或是一個數組的所有元素。 

     for...in語句的語法如下: for (變數 in 對象或數組) 
                 { 
                   語句... 
                  } 

     while語句所控制的迴圈不斷的測試條件,如果條件始終成立,則一直迴圈,直到條件不再成立。 
     語法如下: while (條件) 
           { 
             執行語句... 
            }

     break語句結束當前的各種迴圈,並執行迴圈的下一條語句。 

     continue語句結束當前的迴圈,並馬上開始下一個迴圈。

   5.對象操作語句:with,this,new。 
    with語句的語法如下: 
             with (對象名稱){ 
                      執行語句 
                     } 
    作用是這樣的:如果你想使用某個對象的許多屬性或方法時,只要在with語句的()中寫出這個對象的名稱,然後在下麵的執行語句中直接寫這個對象的屬性名或方法名就可以了。

    new語句是一種對象構造器,可以用new語句來定義一個新對象。 
     語法是這樣的:新對象名稱= new 真正的對象名 
     譬如說,我們可以這樣定義一個新的日期對象: var curr= new Date(),然後,變數curr就具有了Date對象的屬性。

    this運算符總是指向當前的對象。

   6.註釋語句://,/*...*/。 
    //這是單行註釋 
    /*這可以多行註釋.... */

 

三.js對象的屬性及方法.

在JavaScript中是基於對象的編程,而不是完全的面向對象的編程。 
    
   那麼什麼是對象呢?如果你學過一些VB的編程,對這個名詞一定不會陌生。通俗的說,對象是變數的集合體,對象提供對於數據的一致的組織手段,描述了一類事物的共同屬性。

   在JavaScript中,可以使用以下幾種對象: 
    1.由瀏覽器根據web頁面的內容自動提供的對象。 
    2.JavaScript的內置對象,如Date,Math等。 
    3.伺服器上的固有對象。 
    4.用戶自定義的對象。

   JavaScript中的對象是由屬性和方法兩個基本的元素的構成的。對象的屬性是指對象的背景色,長度,名稱等。對象的方法是指對屬性所進行的操作,就是一個對象自己所屬的函數,如對對象取整,使對象獲得焦點,使對象獲得個隨機數等等一系列操作。

   舉個例子來說,將汽車看成是一個對象,汽車的顏色,大小,品牌等叫做屬性,而發動,剎車,拐彎等就叫做方法。

   可以採用這樣的方法來訪問對象的屬性:對象名稱.屬性名稱,例:mycomputer.year=1996,mycomputer.owner = “me”。

   可以採用這樣的方法,將對象的方法同函數聯繫起來:對象.方法名字=函數名字或對象.屬性.方法名,例:this.display=display,document.writeln(“this is method”)。

   多看或多寫一些程式,就會理解對象的方法和屬性的含義了!

 

四.js事件的處理

事件是瀏覽器響應用戶交互操作的一種機制,JavaScript的事件處理機制可以改變瀏覽器響應用戶操作的方式,這樣就開發出具有交互性,並易於使用的網頁。

  瀏覽器為了響應某個事件而進行的處理過程,叫做事件處理。

  事件定義了用戶與頁面交互時產生的各種操作,例如單擊超級連接或按鈕時,就產生一個單擊(click)操作事件。瀏覽器在程式運行的大部分時間都等待交互事件的發生,併在事件發生時,自動調用事件處理函數,完成事件處理過程。

  事件不僅可以在用戶交互過程中產生,而且瀏覽器自己的一些動作也可以產生事件,例:當載入一個頁面時,就會發生load事件,卸載一個頁面時,就會發生unload事件等。

  歸納起來,必需使用的事件有三大類: 
   1.引起頁面之間跳轉的事件,主要是超連接事件。 
   2.事件瀏覽器自己引起的事件。 
   3.事件在表單內部同界面對象的交互。

另:

 

 

Javascript 基礎 
一、 變數 
var   myBook; 
   myBook=5; 
   變數名要求以字母或 _ 打頭,不能含有空格 
常見的類型有:字元串,數值,布爾和對象類型。 
var   num=6 
b=(3>5) 
false   true 
二、 表達式與操作符 
1、 比較操作符 
   ==   !=   >   <   >=   <= 
2、 運算操作符 
   +   -   *   /   %   ++   --


3、 邏輯操作符 
與&& , 或 ||   , 非 !   
4、 位操作符 
&   |   ^(異或)   ~   <<   >>   >>>(填0右移操作符) 
5、 賦值操作符 

+=   -=   *=   /= 
&=   |=   ^= 
<<=   >>=   >>>=


6、 其它操作符 
條件操作符:(條件)?值1:值2     a=5   b=6   c=(a>b)?a-b:a+b 
new操作符   var   
com=new   Array("Zhang","Li","wang","Chen") 
com[2] 
delete 操作符 delete com[2] 
7、 
三、 語句 
1、 條件語句 
(1) if……else 
   if   (mark>60) 
       s="pass" 
   else   
       s="fail" 
(2)tch   case   標簽1:代碼塊1;break; 
   case   標簽2:代碼塊2;break; 
   ………… 
   case   標簽n:代碼塊n;break; 
   default: 預設代碼塊; 

(3) 
2、 迴圈語句 
(1) for 語句 
   for(初始表達式;迴圈條件;遞增表達式) 
   {   代碼塊     }   
(2) while 語句 
   while(迴圈條件) 
   {代碼塊} 
(3) do……while語句 
       do{ 
       代碼塊 
         } while(迴圈條件)


(4) label語句 
label:代碼塊 
(5) break語句 
           跳出迴圈語句或tch 
           break   label     跳出label標識的代碼塊


(6) 
3、 其他語句 
(1) for……in語句     [forin.htm] 
       for (變數   in 對象) { 
             代碼塊   } 
(2) with(對象){ 
         代碼塊   } 
(3) 註釋 
       // 註釋一行     /*     */


(4) return 
4、 
四、 函數 
1、 函數的定義 
function   函數名(參數列表) 
{     代碼塊 
   }


--   作者:何問起 
--   發佈時間:2015-12-3 1:31:00 

--   

2、 函數的調用 
     函數名(參數列表) 
3、 javascript 的全局函數 
(1) eval(字元串) 
執行該字元串 
(2)   parseInt(字元串,[基數])   parseFloat(字元串) 
var s="3.14" 
var j=parseInt(s) 
var k=parseFloat(s) 
         parseInt("2B",16)= 
(3) isNaN(表達式) :不是數字 
(4) Number(對象)和 String(對象) 
Var n=new Number(20) 
document.write(n.toString(16)) 
(5) Escape(字元串)和unescape(字元串)將消息串格式轉換為ASC碼格式 
4、 方法 
(1) 滾動視窗scroll() 
   scroll(x,y):移至視窗某一點,左上角為0,0     [winscroll.htm] 
(2) 設置延遲setTimeout("表達式",時間) 時間:以毫秒為單位 
(3) 清除延遲clearTimeout("延遲號") 
如:id=setTimeout("disp()",1000)   
     clearTimeout(id) 
(4)

五、 Javascript 中的對象 
1、 建立自定義對象 
方法1:對象={屬性1:屬性值1,屬性2:屬性值2……屬性n:屬性值n} 
   方法2:先定義構造函數,再new創建對象實例。 
     如: function car(thecolor,thenumber,thewheels) 
           { this.color=thecolor; 
             this.number=thenumber; 
             this.wheels=thewheels;   }

     var   mycar=new car("RED","13245",4); 
2、 定義對象的方法     [oop.htm] 
     function ReportInfo( ) 
   { var information=new string; 
     information="color:"+this.color+"<BR>"; 
     information+="Number:"+this.Number+"<BR>"; 
     information+="Wheels"+this.wheels; 
     window.document.write(information); 
   }

3、 javascript核心語言對象 
(1) 數組對象(Array) 
   建立數組:var st=new Array("zhang","wang","li","chen"); 
             var st1=new Array(4) 
   訪問數組元素: st[2] 
   數組對象的屬性 length (長度)     [forin.htm] 
             方法 sort( )   按ASCII碼排序   sort([比較函數名])   [sort.htm] 
                       比較函數返回值(a與b比較)   <0   b排在a 的前面 
                                                 =0   保持原來次序 
                                                 >0   a排在b的前面 
                   reverse( )   元素顛倒順序 
                   join(分隔符) 轉換成字元串 
             
(2) 字元串對象(String) 
       屬性: length 
       方法:toUpperCase()   轉換為大寫字母 
             toLowerCase()   轉換為小寫字母 
             indexOf(字元串,起始位置)   返回子字元串在字元串中的位置,若沒有,則為-1 
             LastIndexOf(字元串,起始位置) 返回子字元串在字元串中最後的位置 
             charAt(位置)   返回字元串中下標位置的字母 
             substring(位置1,位置2)返回位置1,位置2間字元串 
             split(分界符) 按分界符的分解成數組元素 
             以下的為格式化字元串方法 [str.htm] 
             big()   blink()   bold()   fixed()   fontcolor()   fontsize()   italics() small() 
             strike()   sub()   sup()


--   作者:何問起 
--   發佈時間:2015-12-3 1:31:00 

--   

(3) 日期對象(Date) 
創建日期對象 
   var   對象名稱=new Date (參數) 
   var   theDate=new   Date( ) 
   var   theDate=new   Date( 1999,1,1) 
       方法:getYear( )   
             getMonth() 
             getDate( ) 
             getHours( ) 
             getMinutes( ) 
             getSeconds( ) 
             setYear (年份) 
             setMonth(月份) 
             setDate(日期) 
             setHours(小時數) 
             setMinutes(分鐘數) 
             setSeconds(秒數) 
             getTime(毫秒數) 獲得1970年1月1日0時0分0秒開始的豪秒 
             setTime(毫秒數) 
(4) 數學對象(Math) 
           屬性: PI 圓周率   3.14159265 
                   SQRT2   2的平方根   1.414 
                   LN2   2的自然對數   0.693147 
                   E 2.718281828459     
                   LN10   10的自然對數 2.302585 
                   LOG2E 以2為底E的對數   1.442695 
                   LOG10E 以10為底E的對數 0.4342944819 
                   SQRT1-2   0.5的平方根   0.7071 
           方法:min(值1,值2) 
               max(值1,值2) 
               round(數值)     四捨五入 
               ceil (數值)     返回>=參數的最小整數 負值取0(向上取整) 
               floor (數值)     截尾取整(向下取整) 
               random()       0-1的隨機數 
               sqrt(數值)     返回數值的平方根 
               abs(數值)       取絕對值 
acos (數值)     arccos 反餘弦 
asin(數值)     反正弦 
atan(數值)     反正切 
cos(數值)     餘弦 
sin(數值)     正弦 
tan(數值)     正切 
atan(x,y)     計算極角, 夾在X正半軸與x,y間的角 
pow(x,y)     X的Y次冪 
log(x)       x的自然對數 
exp(x)     E的X次方

推薦:http://www.cnblogs.com/roucheng/p/jstoupiao.html


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

-Advertisement-
Play Games
更多相關文章
  • 1.意圖 動態地給一個對象添加一些額外的職責。就增加功能來說,Decorator模式相比生成子類更為靈活。 2.別名 包裝器 Wrapper. 3.動機 給某個對象而不是整個類添加一些功能。一個較為靈活的方式時將組件嵌入另一個對象中。 4.適用性 在不影響其它對象的情況下,以動態、透明的方式給單個對 ...
  • 一、表單(Form) 源碼文件:_form.scssmixins/_form.scss 1、按層次結構分:form-group -> form-control/input-group/form-static-control -> 各類標簽2、Form-group/form-control/input ...
  • 第1章 css和文檔 1,元素:替換元素(img input),非替換元素(大多數span)。 2,link:rel(代表關係:stylesheet,候選樣式表:alternate stylesheet);type(text/css);media:(all(所有表現媒體, screen,print) ...
  • 繼前面幾篇文章後再來說說老生常談的話題,怎麼樣提升前端性能。文中很多取材自網路及《High Performance Web Sites》,並根據自己工作中所接觸到的知識整理而成。 http://hovertree.com/menu/webfront/ 1. 減少HTTP請求 終端用戶響應時間80%消 ...
  • 對初學者來說應該學習的JavaScript編碼規範: 傳送門: http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=29292475&id=5019448 ...
  • 看到兩篇關於CSS的文章,總結的非常好。因為沒有那個網站的賬號,沒法收藏轉發,所以把鏈接貼在這裡,分享給大家。這兩篇文章對於初學CSS的人來說,總結得很精煉準確,而且通俗易懂。推薦~ 有關CSS的一些事--CSS和頁面佈局 http://blog.chinaunix.net/xmlrpc.php?r ...
  • 動畫 animate() 01.animate()方法的簡單使用 有些複雜的動畫通過之前學到的幾個動畫函數是不能夠實現,這時候就是強大的animate方法了。 操作一個元素執行3秒的淡入動畫,對比下一下2組動畫設置的區別。 顯而易見,animate方法更加靈活了,可以精確的控制樣式屬性從而執行動畫。 ...
  • LN :跟著W3School學HTML 007 內容參考自W3School [HTML 教程][1] HTML文本格式化 | 標簽 | 描述 | | | : | | `` | 定義粗體文本 | | `` | 定義大號字 | | `` | 定義著重文字 | | `` | 定義斜體字 | | `` | ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...