超文本標(biāo)記語言

HTML內(nèi)容

  1. Html就是超文本標(biāo)記語言的簡寫,是最基礎(chǔ)的網(wǎng)頁語言
  2. Html是通過標(biāo)簽來定義的語言,代碼都是由標(biāo)簽所組成
  3. Html代碼不用區(qū)分大小寫
  4. Html代碼由<html>開始</html>結(jié)束。里面由頭部分<head></head>和體部分<body></body>兩部分組成
  5. 頭部分是給Html頁面增加一些輔助或者屬性信息,它里面的內(nèi)容是最先加載
  6. 體部分是真正存放頁面數(shù)據(jù)的地方
<html>
    <head>
        <title>這是網(wǎng)頁標(biāo)題</title>
    </head>
    <body>
        $\color{blue}{Hello Wold!}$
    </body>
</html>
  • 多數(shù)標(biāo)簽都是有開始標(biāo)簽和結(jié)束標(biāo)簽,其中有個(gè)別標(biāo)簽因?yàn)橹挥袉我还δ?,或者沒有要修飾的內(nèi)容可以在標(biāo)簽內(nèi)結(jié)束。

  • 想要對被標(biāo)簽修飾的內(nèi)容進(jìn)行更豐富的操作,就用到了標(biāo)簽中的屬性,通過對屬性值的改變,增加了更多的效果選擇。

  • 屬性與屬性值之間用"="連接,屬性值可以用雙引號或單引號或者不用引號,一般都會(huì)用雙引號?;蚬疽?guī)定書寫規(guī)范。

  • 格式: <標(biāo)簽名 屬性名='屬性值'> 數(shù)據(jù)內(nèi)容 </標(biāo)簽名>

          `<標(biāo)簽名 屬性名='屬性值' />`
    
  • 操作思想:為了操作數(shù)據(jù),都需要對數(shù)據(jù)進(jìn)行不同標(biāo)簽的封裝,通過標(biāo)簽中的屬性對封裝的數(shù)據(jù)進(jìn)行操作。標(biāo)簽就相當(dāng)于一個(gè)\color{red}{容器}。對容器中的數(shù)據(jù)進(jìn)行操作,就是在再不斷的改變?nèi)萜鞯膶傩灾怠?/p>

常用標(biāo)簽的使用

Html注釋格式:``

  • 字體:<font></font>

  • 標(biāo)題:<h1></h1>......<h6></h6>

  • 列表:<dl> <dt>上層項(xiàng)目內(nèi)容</dt> <dd>下層項(xiàng)目內(nèi)容</dd> </dl>

         `<dd>標(biāo)簽內(nèi)容自動(dòng)縮進(jìn)效果`
    
  • 有序列表:<ol><li>有序</li></ol> 有縮進(jìn)效果

  • 無序列表:<ul><li>無序</li></ol> 有縮進(jìn)效果

  • 圖像標(biāo)簽:<img src = "D:\\aa.jpg height=300 width = 500 border = 10 alt = "hahaha"/>

                  height:高度   width:寬度    alt:圖片說明文字
    
  • 圖像地圖:<img src = "Sunset.jpg" alt = "說明文字" usemap = "#Map" />

                ` <map> <area shape = "rect" coords = "50,59,116,104" /> </map>`
    
  • 表格標(biāo)簽:<table>表格 <caption>表頭</caption> <tr>行 <td>列</td> <th>列加粗居中</th> </tr> </table>

  • 表格進(jìn)階:<table> <thead>表格頭</thead> <tbody>表格體</tbody> </table>

  • 超鏈接標(biāo)簽:<a href = "#" target="_blank"> target:新窗口屬性

  • 框架標(biāo)簽:<frameset></frameset>

  • 畫中畫標(biāo)簽:<iframe><iframe>

  • 表單標(biāo)簽:<form> <input type="text" /> </form>

  • 下拉菜單:<select><option>選項(xiàng)</option></select>

  • 文本區(qū)域:<textarea></textarea>

  • 頭標(biāo)簽:<head></head>

  • 換行/分隔符:<br />、<hr />

  • 其他標(biāo)簽:<b>加粗</b>、<i>斜體</i>、<u>下劃線</u>、<sub>下標(biāo)</sub>、<sup>上標(biāo)</sup>、<marquee direction = "down" behavior = "alternate"></marquee>、<pre></pre>

  • 區(qū)域標(biāo)簽:<div></div>自動(dòng)換行

  • 行內(nèi)區(qū)域標(biāo)簽:<span></span>沒有換行

  • 段落標(biāo)簽:<p></p>段落前后空行 + 自動(dòng)換行

注意事項(xiàng):

  • 表格<table>默認(rèn)下一級標(biāo)簽是<tbody>不寫也存在

  • 超鏈接:鏈接資源,有href屬性才有點(diǎn)擊效果,如果沒有指定過任何協(xié)議,解析是按照默認(rèn)協(xié)議(file文件協(xié)議)解析。

    • 鏈接網(wǎng)址:<a >百度</a> 指定http協(xié)議
    • 鏈接圖片:<a href = "images/1.png">圖片</a>
    • 鏈接郵箱:<a href = "mailto:123456@qq.com">聯(lián)系我們</a>
    • 鏈接視頻:<a >神奇寶貝</a>
    • 鏈接視頻:<a href = "thunder://werweoqakslfiwojaagjka==">神奇寶貝</a> 迅雷協(xié)議
    • 鏈接定位標(biāo)記:<a name = top>頂部位置</a> <a href = "#top">回到頂部</a> (錨)
    • 取消超鏈接默認(rèn)點(diǎn)擊效果<a href = "javascript:void(0)">
  • 定義框架標(biāo)簽:

    <html>
        <head></head>
        <frameset rows = "30%, *">
            <frame src = "top.html"></frame>
          <frameset cols = "30%, *">
              <frame src = "left.html"></frame>
              <frame src = "right.html"></frame>
          </frameset>
      </frameset>
        <body>
            
        </body>
    </html>
    
    
  • 表單標(biāo)簽:如果要提交給服務(wù)端數(shù)據(jù),表單的組件必須有name和value屬性

    <form action = "http://192.168.1.82:10086" method = "get"><!--提交到服務(wù)器,方式get--> 
        輸入名稱:<inpput type = "text" name ="user" value="" /><br />
        輸入密碼:<inpput type = "password" name = "pass" value="" /><br />
          <!--分到同一組sex中-->
        選擇性別:<input type = "radio" name = "sex" value="M" />男 
              <input type = "radio" name = "sex" balue="W" checked = "checked" />女<br />
        選擇技術(shù):<input type = "checkbox" name = "tech" value = "java" />Java
              <input type = "checkbox" name = "tech" value = "Html" />HTML
              <input type = "checkbox" name = "tech" value = "CSS" />CSS<br />
        選擇文件:<input type = "file" name = "file" /><br />
        <!-- 圖片提交按鈕 -->
        一個(gè)圖片:<input type = "image" src = "1.jpg" /><br /> 
        <!-- 數(shù)據(jù)不需要客戶端指定,但可以將其提交服務(wù)端 -->
        隱藏組件:<input type = "hidden" name = "myke" value = "myvalue" /><br /> 
        一個(gè)按鈕:<input type = "button" value = "有個(gè)按鈕" onclick = "alert('有個(gè)按鈕')" />
        <input type = "reset" value = "重置"/><input type = "submit" value = "提交數(shù)據(jù)"/>
    </form>
    
  • 下拉菜單/文本區(qū)域

    <select name = "country">
        <option value = "none">--選擇國家--</option>
        <option value = "cn" selected = "selected">中國</option>
        <option value = "en">美國</option>
        <option value = "usa">英國</option>
    </select>
    <textarea name= "text"></textarea>
    
  • 頭標(biāo)簽

    <head>
        <title>標(biāo)題</title>
        <base target="_blank" />
        <meta http-equiv = "refresh" content = "3"; url = http://www.baidu.com />
        <link />
    </head>
    

服務(wù)端Get和Post的區(qū)別

  1. get提交:提交的信息都顯示在地址欄中

    post提交:提交的信息不顯示在地址欄中

  2. get提交:對敏感數(shù)據(jù)信息不安全

    post提交:對敏感數(shù)據(jù)信息安全

  3. get提交:對于大數(shù)據(jù)不行,因?yàn)榈刂窓诖鎯?chǔ)體積有限

    post提交:可以提交大數(shù)據(jù)

  4. get提交:將信息封裝到請求消息的請求行中

    post提交:將信息封裝到了請求體中

  5. 在服務(wù)端的區(qū)別:如果出現(xiàn)將中文提交到tomcat服務(wù)器會(huì)出現(xiàn)亂碼,服務(wù)器默認(rèn)會(huì)使用ISO-8859-1進(jìn)行解碼出現(xiàn)亂碼

    1. 通過ISO8859-1進(jìn)行編碼,在用指定中文碼表解碼,即可。這種方式對get、post提交都有效

    2. 但是對post提交方式提交的中文還有一種解決方法,直接使用服務(wù)端一個(gè)對象request對象的setCharacterEncoding方法直接設(shè)置指定的中文編碼表。

      該方法只對請求體中數(shù)據(jù)有效

\color{red}{綜上所述:表單提交建議使用post}

和服務(wù)端交互的三種方式

  • 地址欄輸入url地址:get
  • 超鏈接:get
  • 表單:get、post

XHTML和XML

XHTML是可擴(kuò)展的超文本標(biāo)記語言(Extensible HyperText Markup Language)。

  • XHTMI是w3c組織在2000年的時(shí)候?yàn)榱嗽鰪?qiáng)HTML推出的,本來是想替代HTML,但是發(fā)現(xiàn)Internet上用HTML寫的網(wǎng)頁太多,未遂!

    可以理解為它是HTML一個(gè)升級版(HTML4.01)。

  • XHTML的代碼結(jié)構(gòu)更為嚴(yán)謹(jǐn),是基于XML的一種應(yīng)用。

    XMI是可擴(kuò)展標(biāo)記語言(Extensible Markup Language)

  • XML是對數(shù)據(jù)信息的描述。HTML 是數(shù)據(jù)顯示的描述。

  • XML代碼規(guī)定的更為嚴(yán)格,如:標(biāo)簽不結(jié)束被視為錯(cuò)誤。

  • XML規(guī)范可以被更多的應(yīng)用程序所解釋,將成為一種通用的數(shù)據(jù)交換語言。

  • 各個(gè)服務(wù)器,框架都將XML作為配置文件。

標(biāo)簽分類

  1. 塊級標(biāo)簽(元素):標(biāo)簽結(jié)束后都有換行
    • div、p、dl、table、title、ol、ul
  2. 行內(nèi)標(biāo)簽(元素):標(biāo)簽結(jié)束后沒用換行
    • font、span、img、input、select、a

CSS內(nèi)容

CSS是層疊樣式表( Cascading Style Sheets )用來定義網(wǎng)頁的現(xiàn)實(shí)效果??梢越鉀Qhtml代碼對樣式定義的重復(fù),提高了后期樣式代碼的可維護(hù)性,并增強(qiáng)了網(wǎng)頁的現(xiàn)實(shí)效果功能。簡單一句話:CSS將網(wǎng)頁內(nèi)容和顯示樣式進(jìn)行\color{red}{分離},提高了顯示功能。

那么CSS和HTML如何在網(wǎng)頁中相結(jié)合,通過四種方式:

  1. style屬性方法:該方法啊比較靈活,但是對于多個(gè)相同標(biāo)簽的同一樣式定義比較麻煩,適合局部修改

    <p style = "background-color:#FF0000; color:#FFFFFF">

  2. style標(biāo)簽方式:(內(nèi)嵌方式)在head標(biāo)簽中加入style標(biāo)簽,對多個(gè)標(biāo)簽進(jìn)行統(tǒng)一修改,該方法對單個(gè)頁面統(tǒng)一設(shè)置,對局部不靈活

    <head><style type = "text/css"> div{background-color:#FF0000; color:#FFFFFF} </style></head>

  3. 導(dǎo)入方式:前提是存在一個(gè)定義好的CSS文件,url括號后必須用分號結(jié)束

    @import url(div.css);

  4. 鏈接方式:前提是存在一個(gè)定義好的CSS文件,重復(fù)樣式以最后鏈接進(jìn)來的為準(zhǔn)

    <link rel = "stylesheet" href = "div.css" type = "text/css" />

  • 樣式的優(yōu)先級:

    由上到下,由外到內(nèi)。優(yōu)先級由低到高

    \color{blue}{style屬性 > id選擇器 > 類選擇器(class) > 標(biāo)簽選擇器}

  • 總結(jié)css代碼格式:

    選擇器名稱 { 屬性名:屬性;屬性名:屬性值...... }

    屬性與屬性之間用分號隔開

    屬性與屬性值之間用冒號鏈接

    如果一個(gè)屬性有多個(gè)值的話,那么多個(gè)值用空格隔開

  • 選擇器:

    就是指定css要作用的標(biāo)簽,那個(gè)標(biāo)簽的名稱就是選擇器。意為:選擇哪個(gè)容器。
    選擇器共有三種:

    1. html標(biāo)簽名選擇器。使用的就是html的標(biāo)簽名。
    2. class 選擇器。其實(shí)使用的標(biāo)簽中的class屬性。
    3. id選擇器。其實(shí)使用的是標(biāo)簽的中的id屬性。

    每一個(gè)標(biāo)簽都定義了class屬性和id屬性。用于對標(biāo)簽進(jìn)行標(biāo)識(shí),方便對標(biāo)簽進(jìn)行操作。

    在定義中,多個(gè)標(biāo)簽的class屬性值可以相同,而id值要唯一,因?yàn)镴avaScript中經(jīng)常用。

  • class選擇器:

    在標(biāo)簽中定義class屬性并賦值。通過標(biāo)簽名.class 值對該標(biāo)簽進(jìn)行樣式設(shè)置

    p.pclass_1 {color:#fFFF00;} p.pclass_2 {color:#0000FF;}

    <p class = "pclass_1"></p>

  • id選擇器:與class類似,但格式不同,選擇器名稱為:#id值

    div#ID1 {color:#fFFF00;} div#ID1{color:#fFFF00;}

    <div id = "ID1"></p>

  • 擴(kuò)展選擇器:

    1. 關(guān)聯(lián)選擇器:標(biāo)簽是可以嵌套的,要讓相同標(biāo)簽中不同標(biāo)簽顯示不同樣式,就可以使用此選擇器

      p {color:#00FF00;} p b {color:#FFFF00;}

      <p>aa標(biāo)簽 <b>bbb</b> aaaa</p>

    2. 組合選擇器:對多個(gè)不用選擇器進(jìn)行相同樣式設(shè)置的時(shí)候使用此選擇器

      p,div {color:#FF0000;}

      <div>aaaa</div><p>bbbb</p>

    3. 偽元素選擇器:其實(shí)就是在html中預(yù)先定義好的一些選擇器。稱為偽元素。是因?yàn)閏ss的術(shù)語

      格式:標(biāo)簽名:偽元素.類名 標(biāo)簽名.類名:偽元素.都可以

      <!-- 偽元素 -->
      <html>
          <head>
              <style type="text/css">
                  /*超鏈接訪問狀態(tài)*/
                  /*未訪問*/
                  a:link{
                      background-color:#06F;
                      color:#FFF;
                      text-decoration:none;
                      font-size:18px;
                  }
                  /*鼠標(biāo)懸停*/
                  a:hover{
                      background-color:#FFF;
                      color:#F00;
                      font-size:24px;
                  }
                  /*點(diǎn)擊效果*/
                  a:active{
                      background-color:#000;
                      color:#FFF;
                      font-size:36px;
                  }
                  /*訪問后*/
                  a:visited{
                      background-color:#FF9;
                      color:#000;
                      font-size:36px;
                      text-decoration:line-through;
                  }
                  /* L V H A */ 驢叫
                  /*聚焦*/
                  input:focus{
                      background-color:#FF9;
                  }
              </style>
          </head>
      </html>
      

盒子模型

  • 邊框:border(顏色 線形 粗細(xì))
    • 上:border-top
    • 下:border-bottom
    • 左:border-left
    • 右:border-right
  • 內(nèi)邊距:pappding(上下左右類似邊框)
  • 外邊距:margin(上下左右類似邊框)

布局屬性Layout

  • 浮動(dòng) float:none | left | right (clear:清除浮動(dòng)屬性)

定位屬性position

  • 定位 position:static | absolute | fixed |relative
    • absolute:脫離文檔流,設(shè)置偏移量,會(huì)影響其他元素的位置定位
    • relative:不脫離文檔流,相對于原來的位置偏移,不影響其他元素布局

Javascript內(nèi)容

JavaScript是基于對象和事件驅(qū)動(dòng)的腳本語言,主要應(yīng)用在客戶端。

  • 特點(diǎn):

    1. 交互性(它可以做的就是信息的動(dòng)態(tài)交互)
    2. 安全性(不允許直接訪問本地硬盤)
    3. 跨平臺(tái)性(只要是可以解釋JS的瀏覽器都可以執(zhí)行,和平臺(tái)無關(guān))
  • JavaScript和Java的不同

    1. JS是Netscape公司的產(chǎn)品,前身是LiveScript;Java是sun公司的產(chǎn)品,現(xiàn)在是Oracle公司的產(chǎn)品
    2. JS是基于對象,Java是面向?qū)ο?/li>
    3. JS只需要解釋就可以執(zhí)行,Java需要先編譯成字節(jié)碼文件,再執(zhí)行。
    4. \color{red}{JS是弱類型,Java是強(qiáng)類型}
  • JavaScript與HTML的結(jié)合方式

    想要將其他代碼融入到HTML中,都是以標(biāo)簽的形式

    1. JS代碼存放在標(biāo)簽對<script> js code... </script>

    2. 當(dāng)有多個(gè)HTML頁面使用到相同的JS腳本時(shí),可以將js代碼封裝到文件中,只要在script標(biāo)簽的src屬性引入js文件就可以

      <script src = "test.js" type = "text/javascript" ></script>

      \color{red}{定義了src屬性,標(biāo)簽內(nèi)容不會(huì)被執(zhí)行},早期有l(wèi)anguage現(xiàn)在使用type替換

JavaScript語法

  1. 關(guān)鍵字:被賦予特殊含義的單詞

  2. 標(biāo)識(shí)符:用于標(biāo)識(shí)數(shù)據(jù)表達(dá)式的符號,理解為自定義名稱,變量名、函數(shù)名等

  3. 注釋:注解說明解釋程序,用于調(diào)試程序

  4. 變量:標(biāo)識(shí)內(nèi)存中一片空間,用于存儲(chǔ)數(shù)據(jù),該空間數(shù)據(jù)可以變化

  5. 運(yùn)算:讓數(shù)據(jù)進(jìn)行運(yùn)算

  6. 語句:讓程序的運(yùn)行流程進(jìn)行控制的表達(dá)式

  7. 函數(shù):用于代碼封裝,提高復(fù)用性

  8. 數(shù)組:對多數(shù)據(jù)進(jìn)行存儲(chǔ),便于操作,就是容器

  9. 對象:只要是基于對象的語言,或者是面向?qū)ο蟮恼Z言都存在對象的概念。

        對象就是一個(gè)封裝體,既可以封裝數(shù)據(jù)也可以封裝函數(shù)
    
// javascript是非嚴(yán)謹(jǐn)?shù)?// 定義變量 
var num = 3;    // var 可以不寫 ;也可以不寫
num = "asdf";   // 字符串
num = 3.14;     // 小數(shù),也是數(shù)字類型
num = true;     // boolean
num = 'c';      // 字符
alert("x = " + x);

// 運(yùn)算
var a = 3710;
alert("a = " + a/1000*1000);    // 3710
alert("12" + 1);    // 121
alert("12" - 1);    // 11
alert(true);        // true
alert(true + 1);    // 2  js中 false : 0、null  true : 非0、非null
var b = 3;
b += 5;
var c = 4;
alert(c > 3 && c < 7);
alert(!t);      // false
var d = 6;
alert(c&3);     // 2
alert(d >>> 1); // 3
alert(d << 2);  // 24
alert(typeof("abc"));   // string
// 語句
var x = 3;
if(x == 4){
    alert("yes");
}else{
    alert("no");
}
switch(x){
    case 1:
        break;
    case 2:
        break;
    default:
        break;  // 可省略
}
// do while , while , for
while(x < 10){
    // 將數(shù)據(jù)直接寫道當(dāng)前頁面中
    document.write(x + "<br />");
    x++;
}
for(var i = 0; i < 3; i++){
    document.write(i);
}
w:for(var i = 0; i < 3; i++){
    for(var j = 0; j < 10; j++){
        document.write(i);
        break w;    // continue w; 同理
    }
}
// 數(shù)組
var arr = [];
var arr = [1,3,5,7,9];  // Object類型
arr[4] = 8;
var arr1 = new Array();         // 等價(jià)于 var arr = [];
var arr1 = new Array(5);        // 數(shù)組長度是5
var arr1 = new Array(5,6,7);    // 等價(jià)于 var arr = [5,6,7];
// 函數(shù)
function add(x,y){
    return x + y;
}
var sum = add(4,5);         // 調(diào)用
alert(sum);

function getNum(){
    return 100;
}
alert(getNum);  // 漏了(),將getNum引用的地址指向函數(shù)對象直接輸出 function getNum(){    return 100;   }
// 動(dòng)態(tài)函數(shù)
var add1 = new Function("x,y", "var sum; sum = x + y; return sum;");
add(1,2);
// 匿名函數(shù)
var add2 = function (a,b){
    return a + b;
}
var sum1 = add2(1,2);
// 對象
var arr = [1,2,3,4,5];
alert(arr.toString());
var abc = function(){
    alert("abc run");
}
alert(abc);
alert(abc.valueOf());
alert(arr.valueOf());

// 去除字符串兩端空格
function trim(str){
    var start, end;
    start = 0;
    end = str.length-1;
    while(start <= end && str.charAt(start) == " "){
        start++;
    }
    while(start <= end && str.charAt(end) == ' '){
        end--;
    }
    return str.substring(start, end+1);
}
var str = "    aabdf    ";
trim(str);

String.prototype.len = 199;
// 添加為string 內(nèi)部方法
String.prototype.trim = trim;   // 調(diào)用上面的方法

String.prototype.trim = function(){
    var start, end;
    start = 0;
    end = this.length-1;
    while(start <= end && this.charAt(start) == " "){
        start++;
    }
    while(start <= end && this.charAt(end) == ' '){
        end--;
    }
    return this.substring(start, end+1);
};
alert("    aabdf    ".trim());

// 數(shù)組
var arr = ["aa", "bb"];
var arr1 = ["dd", "ee"];
arr.concat("cc", arr1);  // 連接
arr.pop();              // 彈出尾元素  shift() 彈出頭元素  unshift 開頭插入
arr.splice(0,1,"aaa", "bbb", "ccc");    // 刪除并替換

var date = new Date();
date.toLocaleString();      // 日期和時(shí)間
date.toLocaleDateString();  // 日期
// 日期毫秒值轉(zhuǎn)換
var date1 = new Date();
var time = date1.getTime(); // 獲取時(shí)間戳
var date2 = new Date(time); // 獲取日期對象

// 簡化對象書寫
with(date){
    var year = getFullYear();
    var month = getMonth() + 1;
    var day = getDate();
}
// Math對象
Math.ceil(12.34);       // 返回大于等于指定參數(shù)的最小整數(shù) 13
Math.floor(12.34);      // 返回小于等于指定數(shù)據(jù)的最大整數(shù) 12
Math.round(12.34);      // 四舍五入
parseInt((Math.random() * 10 + 1)); // 1-10

// Golbal全局對象
var val = parseInt("abc");  // val = NaN(非法)
isNaN(val);     // true

val = parseInt("12adv");    // val = 12
val = parseInt("adv12");    // val = NaN
var num = parseInt("110",2);    // 6 二進(jìn)制

var num1 = new Number(6);
num1.toString(2);   // 110 十進(jìn)制轉(zhuǎn)二進(jìn)制

Javascript細(xì)節(jié)

  • undefined:未定義

  • typeof():判斷類型

  • 數(shù)組:長度可變,元素類型任意(建議使用時(shí),存儲(chǔ)同類型元素)

  • 函數(shù):明確功能結(jié)果和參與運(yùn)算的未知內(nèi)容,沒有返回return可以省略

    格式:function 函數(shù)名(參數(shù)列表){ 函數(shù)體; return; }

    只要使用了函數(shù)的名稱就是對這個(gè)函數(shù)的調(diào)用,沒有重載的說法,函數(shù)參數(shù)存儲(chǔ)的是數(shù)組arguments

    動(dòng)態(tài)函數(shù):使用js內(nèi)置的對象Function,參數(shù)列表是通過字符串動(dòng)態(tài)指定的

  • 全局變量和局部變量:在script中定義的變量在腳本中都有效,稱為全局變量

                                  在函數(shù)中定義的變量是局部的,只在函數(shù)中有效
    
  • 給String對象添加功能:String.prototype.方法名

/**
 *  for in      // 對對象進(jìn)行遍歷
 *  格式:
 *  for(變量 in 對象){}     
 */
var arr = [23,32,45,65,78];

for(i in arr){
    console.log(i);         // i 腳標(biāo)
    console.log(arr[i]);    // arr[i] 數(shù)據(jù)
}

堆棧和隊(duì)列練習(xí)

// 數(shù)組練習(xí)
var arr = [];

arr.unshift("aaa","bbb","ccc");     // aaa bbb ccc 添加一次
arr.unshift("aaa");
arr.unshift("bbb");
arr.unshift("ccc");     // ccc bbb aaa  添加三次

arr.pop();  // aaa
arr.pop();  // bbb
arr.pop();  // ccc

arr.shift();    // ccc
arr.shift();    // bbb
arr.shift();    // aaa

function removeList(arr){
    arr.shift();
}
function removeList(arr){
    arr.pop();
}

自定義對象

想要自定義對象,應(yīng)該先對對象進(jìn)行描述,js是基于對象的,不是面向?qū)ο?,不具備描述事物的能力,我們可以通過函數(shù)模擬面向?qū)ο?/p>

// 用函數(shù)描述人
function Person(){  // 相當(dāng)于構(gòu)造器 
    alert("person run");
}

// 通過描述進(jìn)行對象的建立。new
var p = new Person();

// 動(dòng)態(tài)給p對象添加屬性。直接用p.屬性名即可
p.name = "zimo";
p.age = 18;
// 如果定義的p對象的屬性賦值為一個(gè)函數(shù),即是給p對象添加一個(gè)方法
p.show = function(){
    alert("show run" + this.name + this.age);
}
p.show();

function Person1(name, age){
    // 在給Person1對象添加兩個(gè)屬性
    this.name = name;
    this.age = age;
    
    this.setName = function(name){
        this.name = name;
    }
    this.getName = function(){
        return this.name;
    }
}

var p = new Person("旺財(cái)", 20);
p.setName("zimo");
alert(p.name);
alert(p.getName());

var pp = {
    // 定義一些成員,使用鍵值對隔開key:value
    "name":"張三","age":20,
    "getName":function(){
        return this.name;
    }
}
// 對象調(diào)用的兩種方式:對象.屬性名  對象["屬性名"]
alert(pp.age + ":" + pp.getName() + pp["age"]);     // 20:張三:20
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容