HTML+CSS+JavaScript知識點整理2

  • CSS選擇器
1、基本選擇器
(1)“*”選擇器:通配符
    描述:將匹配所有的HTML標記昨登,所有的標記都會改變的。
    語法:*{ color:red; }
    注意:“*”盡量少用,因為IE6不支持。
    
(2)標簽選擇器
    描述:將匹配指定的HTML標記庆揪。
    語法:h1{ color:red; }
    注意:CSS標簽選擇器痊硕,與HTML標記的名稱一樣艾疟,但不能加尖括號。
    
    
    (3)class選擇器(類選擇器)——類選擇器是使用頻率最高的
    描述:給一類HTML標記加樣式蚊俺。這里所指的“一類”是:每個HTML標記都有一個class屬性懈涛,且class的值一樣。class屬性是公共屬性泳猬,每個HTML標記都有批钠。
    類選擇器的名稱宇植,必須以“.”開頭,后限HTML標記的class屬性的值埋心。如:.box{ color:red; }
    HTML標記的class屬性的值指郁,不能以數(shù)字開頭。

(4)id選擇器
    描述:給指定id的元素添加樣式拷呆。
    注意:網(wǎng)頁中HTML標記的id屬性的值闲坎,必須是唯一的。
    每一個HTML標記都有一個id的公共屬性茬斧。
    注意:id屬性一般是給JS使用的腰懂,不是讓你來加樣式的。class屬性只能給CSS用项秉,不能給JS用的绣溜。
    id選擇器的名稱,必須以“#”開頭,后跟HTML標記的id屬性的值。


2蜓肆、組合選擇器
(1)多元素選擇器
    描述:給多個元素加同一個樣式,多個選擇器之間用逗號“,”隔開罢防。
    舉例:h1,p,div,body{color:red;}
(2)后代元素選擇器(最常用)
    描述:給某個標簽的某一個后代元素加樣式。選擇器之間用“空格”隔開唉侄。
    舉例:div  .title{ color:red;}

(3)子元素選擇器
    描述:給某個元素的子元素添加樣式咒吐。
    舉例:div > h1.title{color:red;}
    
    
4. CSS偽類選擇器:給超鏈接加的樣式(鏈接的不同狀態(tài)加樣式)
一個超鏈接,有四個狀態(tài):
    正常狀態(tài)(:link):鼠標沒放上之前鏈接的樣式属划。
    放上狀態(tài)(:hover):鼠標放到鏈接上時的樣式恬叹。
    激活狀態(tài)(:active):按住鼠標左鍵不松開的樣式,這個狀態(tài)特殊短暫同眯。
    訪問過的狀態(tài)(:visited):按下鼠標左鍵绽昼,并彈起,這時的樣式效果须蜗。
在平常工作中硅确,會使用以下寫法,來給鏈接加不同的樣式:
a:link, a:visited{ color:#444; text-decoration:none; }  //將“正常狀態(tài)”和“訪問過的狀態(tài)”合二為一明肮。
a:hover{ color:#990000; text-decoration:underline; }  //“鼠標放上”單做一種效果


  • CSS注釋
CSS注釋:/*CSS注釋內(nèi)容*/
HTML注釋:<!—HTML注釋-->

CSS尺寸屬性
    width:元素寬度菱农,一定要加px單位。
    height:元素高度柿估。
CSS字體屬性
    font-size:文字大小循未。如:font-size:14px;
    font-family:字體。如:font-family:微軟雅黑;
    font-style:斜體秫舌,取值:italic的妖。如:font-style:italic;
    font-weight:粗體绣檬,取值:bold。如:font-weight:bold;
CSS文本屬性
    color:文本顏色
    text-decoration:文本修飾線嫂粟,取值:none(無)娇未、underline(下劃線)、overline(上劃線)忘蟹、line-through(刪除線)
    text-align:文本水平對齊方式飒房,取值:left搁凸、center、right
    line-height:行高狠毯,可以用固定值护糖,也可以用百分比。如:line-height:24px;   line-height:150%;
    text-indent:首行縮進嚼松。如:text-indent:28px;
    letter-spacing:字間距嫡良。

CSS列表屬性

list-style:列表樣式,取值:none献酗。去掉項目符號或編號前面的各種符號寝受。


CSS邊框?qū)傩裕好總€元素都可以加邊框線

    border-left:左邊框線。
    格式:border-left:粗細  線型  線的顏色;
    線型:none(無線)罕偎、solid(實線)很澄、dashed(虛線)、dotted(點狀線)
    舉例:border-left:5px  dashed  red;
    border-right:右邊框線颜及。
    
    border-top:上邊框線甩苛。
    border-bottom:下邊框線。
    border:同時給四個邊加邊框線俏站。

CSS內(nèi)邊距屬性:邊框線到內(nèi)容間的距離

注意:平常我們所說的width和height屬性讯蒲,它們指內(nèi)容的寬度和高度,不含內(nèi)肄扎、外邊距墨林、邊框線。
    padding-left:左內(nèi)填充距離犯祠,左邊線到內(nèi)容間的距離旭等。
    padding-right:右內(nèi)填充距離,右邊線到內(nèi)容間的距離雷则。
    padding-top:上內(nèi)填充距離辆雾,上邊線到內(nèi)容間的距離。
    padding-bottom:下內(nèi)填充距離月劈,下邊線到內(nèi)容間的距離度迂。
    縮寫形式
    padding:10px;   //四個邊的內(nèi)填充分別為10px
    padding:10px 20px;  //上下為10px藤乙,左右為20px
    padding:5px 10px 20px;  //上為5px,左右為10px惭墓,下為20px
    padding:5px 10px 15px 20px;  //順序一定是“上右下左”

CSS外邊距屬性:邊線往外的距離


    margin-left:左邊線往外的距離坛梁。
    margin-right:右邊線往外的距離
    margin-top:上邊線往外的距離。
    margin-bottom:下邊線往外的距離腊凶。
    簡寫式
    margin:10px;   //四個外邊距分別為10px
    margin:10px 20px  //上下外邊距10px划咐,左右外邊距20px
    margin:5px 10px 15px;  //上外邊距5px,左右外邊距10px钧萍,下外邊距15px
    margin:5px 10px 15px 20px;  //順序一定是“上右下左”

CSS背景屬性

    background-color:背景顏色褐缠。
    background-image:背景圖片地址。如:background-image:url(images/bg.gif)
    background-repeat:背景平鋪方式风瘦,取值:no-repeat(不平鋪)队魏、repeat-x(水平方向)、repeat-y(垂直方向)
    background-position:背景定位万搔。格式:background-position:水平方向定位 垂直方向定位胡桨;
    用英文單詞定位:background-position: left|center|right  top|center|bottom;
    
    用固定值定位:background-position: 50px  50px; //背景距離容器的左邊50px,容器頂端50px
    用百分比定位:background-position: 50%  50%;  //水平居中瞬雹,垂直居中
    用混合定位:background-position: left  10px;   //背景靠左邊齊昧谊,距離容器頂端10px
    簡寫方式
    background:背景色  背景圖  平鋪方式  定位方式;
    舉例:background:url(images/bg.gif) no-repeat center center;
    舉例:background: #ccc url(images/bg.gif) no-repeat left 10px;

  • CSS浮動和清除
    float:讓元素浮動酗捌,取值:left(左浮動)呢诬、right(右浮動)
    clear:清除浮動,取值:left(清除左浮動)意敛、right(清除右浮動)馅巷、both(同時清除上面的左浮動和右浮動)

1、CSS浮動
    浮動的元素草姻,將向左或向右浮動钓猬,浮動到包圍元素的邊上,或上一個浮動元素的邊上為止撩独。
    浮動的元素敞曹,不再占空間了,并且综膀,浮動元素的層級要高于普通元素澳迫。
    浮動的元素,一定是“塊元素”剧劝。不管它原來是什么元素橄登。
    如果浮動的元素,沒有指定寬度的話,浮動后它將盡可能的變窄拢锹。因此谣妻,浮動元素一般要定寬和高。
    一行的多個元素卒稳,要浮動一起浮動蹋半。

浮動的功能:可以實現(xiàn)將多個塊元素并列排版。

如何讓包圍元素充坑,包住浮動元素减江?
你就需要在浮動元素的下邊,使用清除浮動操作捻爷。

<style type="text/css">
    .box .div3{
        width:100px;
        height:100px;
        background-color:blue;
        float:right;
    }
    .clear{clear:both;}
</style>

<body>
    <div class="box">
        <div class="div1"></div>
        <div class="div2"></div>
        <div class="div3"></div>
        <div class="clear"></div>
    </div>
</body>

2辈灼、CSS清除浮動

CSS清除浮動的功能有兩個:(1)可以包圍元素從“視覺上”包住浮動元素(2)清除之下的其它元素將恢復默排版。
有浮動役衡,就得有清除茵休。
如果包圍元素指定了高度了薪棒,那么可以不使用清除功能手蝎。

CSS繼承性

CSS屬性繼承:外層元素的樣式,會被內(nèi)層元素進行繼承俐芯。多個外層元素的樣式棵介,最終都會“疊加”到內(nèi)層元素上。

什么樣的CSS屬性能被繼承呢吧史?
    CSS文本屬性都會被繼承的:
        color邮辽、 font-size、font-family贸营、font-style吨述、 font-weight
        text-align、text-decoration钞脂、text-indent揣云、letter-spacing、line-height
    提示:<body>中的CSS屬性冰啃,會被所有的子元素繼承邓夕。


CSS優(yōu)先級(權(quán)值)
(1)單個選擇器的優(yōu)先級
    行內(nèi)樣式 > id選擇器 >  class選擇器 > 標簽選擇器
    
    (2)多個選擇器的優(yōu)先級
    多個選擇器的優(yōu)先級,一般情況下阎毅,指向越準確焚刚,優(yōu)先級越高。
    特殊情況下扇调,我們需要假設(shè)一些值:
        標簽選擇器      優(yōu)先級為1
        類選擇器        優(yōu)先級為10
        Id選擇器        優(yōu)先級為100
        行內(nèi)樣式        優(yōu)先級為1000
        
        計算以下優(yōu)先級:
.news h1{color:red;}     優(yōu)先級:10 + 1 = 11
.title{color:blue;}        優(yōu)先級:10

div.news h1{color:red;}   優(yōu)先級:1 + 10 + 1 = 12
h1.title{color:blue;}      優(yōu)先級:1 + 10 = 11
    

display屬性

    功能:規(guī)則網(wǎng)頁元素如何顯示的問題矿咕。
    取值:none(隱藏)、block(以塊元素顯示)、inline(以行內(nèi)元素顯示)
    block:可以實現(xiàn)將行內(nèi)元素轉(zhuǎn)成塊元素碳柱。
    inline:可以實現(xiàn)將塊元素轉(zhuǎn)成行內(nèi)元素

overflow屬性:當內(nèi)容溢出時雌团,該如何顯示
overflow:當內(nèi)容溢出時,溢出的內(nèi)容該如何顯示士聪。取值:visible(可見)锦援、hidden(隱藏)、scroll(出現(xiàn)滾動條)剥悟、auto(自動)



cursor光標類型
cursor:網(wǎng)頁中光標的類型灵寺,取值:text(文本)help(幫助)、wait(等待)区岗、pointer(手形)等

CSS定位

    position:元素定位方式略板,取值static、fixed慈缔、relative叮称、absolute
    static:靜態(tài)定位(默認狀態(tài)、不定位)藐鹤。
    Fixed:固定定位瓤檐。
    Relative:相對定位。
    Absolute:絕對定位娱节。
定位方式挠蛉,要與定位屬性配合使用
    定位坐標:指定定位的元素,偏移目標元素多遠的距離肄满。
    left:定位元素谴古,距離目標元素左邊的距離。
    top:定位元素稠歉,距離目標元素上邊的距離掰担。
    right:定位元素,距離目標元素右邊的距離怒炸。
    bottom:定位元素带饱,距離目標元素下邊的距離。
    
    1横媚、固定定位纠炮,position:fixed
    固定定位,是相對于瀏覽器窗口來進行的定位灯蝴。
    固定定位恢口,不占空間,層級要高于普通元素穷躁。它不會隨著網(wǎng)頁的滾動而滾動耕肩。
    如果不指定定位坐標的話因妇,固定定位元素的位置在原地不動。
    固定定位元素猿诸,一定是“塊元素”婚被,不管原來它是什么元素。

2梳虽、相對定位址芯,position:relative;
    相對定位,是相對于“原來的自己”進行定位窜觉。
    相對定位谷炸,依然占空間,層級高于普通元素禀挫。
    如果不指定定位坐標的話旬陡,相對定位元素的位置在原地不動。
    相對定位语婴,原來是行內(nèi)元素描孟,定位后還是行內(nèi)元素;原來是塊元素砰左,定位后還是塊元素匿醒。


3、絕對定位菜职,position:absolute
    相對于祖先定位元素(相對定位青抛,絕對定位),來進行的定位酬核。
    如果它的父元素沒有進行任何定位的話,再往上找定位元素适室。
    如果一直找到<body>都沒有找到定位元素的話嫡意,那就相對于<body>來進行定位。
    絕對定位元素捣辆,不占空間蔬螟,層級要高于普通元素。
    如果不指定定位坐標的話汽畴,絕對定位元素的位置在原地不動旧巾。
    絕對定位元素,是一個“塊元素”忍些。

HTML引入CSS的方法

1鲁猩、嵌入式
    通過<style>標記,來引入CSS樣式罢坝。
    語法格式:<style type = “text/css”></style>
    提示:<style>中的CSS樣式廓握,只能給當前網(wǎng)頁來使用。
          同一個網(wǎng)頁中,<style>標記可以多次出現(xiàn)隙券。

2男应、外聯(lián)式
    通過<link>標記,來入引一個外部的CSS文件(.css)娱仔,這樣的話沐飘,可以實現(xiàn)公共的CSS代碼被多個網(wǎng)頁共享。
    <link rel = “stylesheet”  type = “text/css”  href = “css/public.css”  />
    <link>標記的常用屬性
    rel:也就是引入的是什么類型的文件牲迫。取值:stylesheet
    type:內(nèi)容類型薪铜。
    href:引入的CSS文件地址。
提示:<link>標記放在<head>標記中恩溅。
 同一個網(wǎng)頁隔箍,可以使用多個<link>來鏈入多個外部樣式文件。


3脚乡、行內(nèi)式(主要用于JS控制元素的樣式)
    每一個HTML標記蜒滩,都有一些公共的屬性:class、id奶稠、title俯艰、style。

HTML標記中的style屬性的值锌订,與CSS中樣式一模一樣竹握。
提示:行內(nèi)樣式中,CSS代碼不能寫的過多辆飘;
行內(nèi)樣式中啦辐,多個CSS屬性不能換行,也就是一行寫完蜈项。
行內(nèi)樣式優(yōu)先級是最高的芹关,比ID選擇器還要高。

CSS表格屬性

border-collapse:表格邊框線合并紧卒,取值:collapse侥衬。

  • 盒子模型
我們可以把每一個HTML標記,都看成是一個“盒子”跑芳。
這個“盒子”有哪些特征:內(nèi)容的高度或高度轴总、邊框線、內(nèi)填充博个、外邊距怀樟。
“盒子”的總寬度:內(nèi)容的寬度 + 邊框?qū)挾?2 + 左填充*2 + 左外邊距*2

上下外邊距合并問題——這是一種現(xiàn)象
    什么情況下?上下外邊距會合并呢坡倔?
    上下兩個塊元素漂佩,如果每一個元素都指定了四個外邊距脖含,那么上下相鄰的那個外邊距會發(fā)生合并的現(xiàn)象,合并后取其中較大的外邊距投蝉。


如何要實現(xiàn)上下兩個<div>之間的距離為100px养葵,該如何實現(xiàn)呢?
1瘩缆、  上下兩個<div>其中一個只指定margin-bottom:100px关拒,而另一個<div>的margin-top:0px,這樣可以實現(xiàn)庸娱。
2着绊、  可以在上下兩個<div>中間,添加一個空的<div>熟尉,并給空<div>指定高度為100px归露,也可以實現(xiàn)。


  • 全局CSS設(shè)置
1斤儿、清除所有的標記的內(nèi)外邊距
    body,ul,li,a,img,p,input{ margin:0; padding:0; }
2剧包、去除項目符號或編號前面的符號
    ul,ol,li{ list-style:none; }
3、全局鏈接效果
    a:link , a:visited{color:#444;text-decoration:none;}
    a:hover{color:red;}
4往果、網(wǎng)頁中所有的文字大小顏色
    body{ font-size:12px; font-family:宋體; color:#ccc; }
5疆液、去除圖片的鏈接邊框線
    img{border:0;}
    
    
6、全局的類樣式
    .floatL{ float:left; }
    .floatR{ float:right; }
    .clear{clear:both;}
    .blank10{ height:10px; clear:both; }
    .red{ color:red; }
    .blue{ color:blue; }    
    
同一個class屬性陕贮,可以指定多個類名樣式堕油,多個類樣式之間用空格隔開。


  • 常用的兼容性調(diào)試技巧
1肮之、實現(xiàn)所有瀏覽器主頁居中
    Firefox下主頁居中代碼:.box{margin:0px auto}
    IE5.5下主頁居中代碼:body{text-align:center;}
    
    將以上兩種代碼掉缺,合在一齊書寫:
    
    body{
        font-size:20px;
        color:#333;
        font-family:Arial;
        text-align:center; /*ie5,6主頁居中*/
        background-color:#ccc url(../images/img.png) repeat-x;
        
    }
    
    .box{
        width:1000px;
        margin:0px auto;
        text-align:left;
    }
    
    2、單行文本上下居中
    h1{
        height:30px;
        line-height:30px;
}


3局骤、在IE6下攀圈,左右margin會加倍,應(yīng)該是IE6下的一個bug
提示:排版時峦甩,能使用padding解決的,堅決不用margin现喳。如果實在想用的話凯傲,就使用其中一邊。
解決的方案:使用 display:inline;

  • CSS HACK
針對不同瀏覽器嗦篱,書寫不同的CSS代碼的過程冰单,稱為“CSS HACK”。
也就是說:寫一個CSS代碼灸促,讓IE6識別诫欠,其它瀏覽器不識別涵卵。
下面,針對不同瀏覽器荒叼,有幾個符號:
    這些符號是在CSS屬性的前面加的轿偎,用于分辨不同的瀏覽器版本。
    “*”IE6和IE7都識別被廓。如:.box{ *background-color:red; }
    “_”只有IE6識別坏晦。如:.box{ _background-color:green;}

注意:CSSHACK不是W3C的標準,因此嫁乘,我們盡量少用昆婿。如果你調(diào)試兼容性,調(diào)試不好時蜓斧,可以偶爾用一下仓蛆。

JavaScript部分

JavaScript是一種小型的历谍、輕量級的逾冬、面向?qū)ο蟮摹⒖缙脚_的客戶端腳本語言送漠。
JavaScript是嵌入到瀏覽器軟件當中的去的搂蜓,只要你的電腦有瀏覽器就可以執(zhí)行JS程序了狼荞。
JavaScript是一種面向?qū)ο蟮某绦蛘Z言。
在程序中帮碰,對象是由“屬性”和“方法”構(gòu)成相味。
在現(xiàn)實中,男女朋友就是一個“對象”殉挽》嵘妫“東西”就是“對象”。一個“物體”就是“對象”斯碌。

    
“對象”有各種各樣的特征(屬性)一死,如:身高、體重傻唾、年齡投慈、姓名、學歷等冠骄。
“對象”有很多方法伪煤。“人”這個對象凛辣,可以干什么抱既?或者“人的行為”。如:開飛機扁誓、打電腦防泵、上網(wǎng)等蚀之。
注意:JS中的對象只要會用就可以了,不需要我們自己去開發(fā)對象捷泞。
跨平臺:JS程序可以在多種平臺下運行足删,如:windows、linux肚邢、mac壹堰、IOS等。
客戶端腳本程序:JS只能在客戶端的瀏覽器來運行骡湖,不能在服務(wù)器端來運行贱纠。
瀏覽器是一個翻譯器,可以翻譯三種代碼:HTML代碼响蕴、CSS代碼谆焊、JavaScript代碼。
JavaScript能干什么浦夷?
    表單驗證:是JS最基本的功能辖试。
    動態(tài)HTML:可以實現(xiàn)一些動態(tài)的、重復的效果劈狐。
    交互式:人機交互罐孝,通過鍵盤或鼠標,與網(wǎng)頁中的元素進行交互肥缔。
    
JavaScript名稱的由來莲兢?
JavaScript最初叫“LiveScript”,是網(wǎng)景公司(Netscape)公司開發(fā)续膳,為自己的瀏覽器Navigator2.0開的客戶端語言改艇。
想借助Java的名氣很快成長起來,因此改名為JavaScript坟岔。
Java和JavaScript是兩個公司的兩個“東西”谒兄。

<script></script>標記
JS代碼也是嵌入到HTML文檔中去的。
同一個網(wǎng)頁中社付,可以有HTML代碼承疲、CSS代碼、JavaScript代碼鸥咖。
通過<script></script>來引入JS程序代碼
 

常用的兩個客戶端輸出方法
document.write(str)
    描述:在網(wǎng)頁的<body>標記纪隙,輸出str的內(nèi)容。
    document意思“文檔”扛或,就是整個網(wǎng)頁了。
    document是一個文檔對象碘饼,代表整個網(wǎng)頁熙兔。
    write()是document對象的一個輸出方法悲伶。
    “.”小數(shù)點:通過小數(shù)點(.)來調(diào)用對象的方法。
    str:表示要輸出的內(nèi)容住涉。
    
    
window.alert(str)
    描述:在當前窗口中彈出一個警告對話框麸锉,str為對話框中顯示的內(nèi)容。
    window代表當前瀏覽器窗口舆声,window是一個窗口對象花沉。
    alert()方法:彈出一個對話框。
    str:表示要輸出的內(nèi)容媳握。


JS中的注釋
    HTML的注釋:<!—注釋內(nèi)容-->
    CSS注釋:/* 注釋 */
    JavaScript的注釋:// 或 /*  多行注釋 */


  • 變量
1碱屁、變量的概念
?   變量是變化的一個量。
?   變量可以看成是一個“未知數(shù)”蛾找。 x = 10
?   變量可以看成是一個“符號”“代號”娩脾。
?   變量可以看成是賓館的“房間號”。
?   變量一般是指程序的數(shù)據(jù)打毛。
?   變量是在內(nèi)存中存在和運行的柿赊。
?   變量是臨時存在的數(shù)據(jù)。我們可以把計算機內(nèi)存看成是一個一個的“小格子”幻枉。每個“小格子”里可以存儲一個變量的名稱和變量的值碰声。



2、變量的聲明
    變量的聲明熬甫,就相當于預(yù)訂賓館的“房間”胰挑。
    語法格式:var 變量名 = 變量值
    聲明變量是使用系統(tǒng)關(guān)鍵字var來進行的。
    舉例:
    var name;         //聲明一個變量
    var name,sex,edu;  //同時聲明多個變量罗珍,多個變量間用英文下的逗號隔開
    var name = “張三”;   //一邊聲明一邊賦值
3洽腺、變量的命名規(guī)則
    變量名可以包含字母、數(shù)字覆旱、下劃線蘸朋。
    變量名不能以數(shù)字開頭,可以以字母或下劃線開頭扣唱。如:var  _name;(正確的)   var 3abc;(錯誤的)
    變量名不能是系統(tǒng)關(guān)鍵字藕坯。如:var、switch噪沙、for炼彪、try、case正歼、else辐马、while等。
    JS中的變量名是區(qū)分大小寫的局义。如:name和Name是兩個變量
    JS中變量的名稱一定要有意義喜爷。
    如果變量名由多個單詞構(gòu)成的話冗疮,該如何表示呢?
    “駝峰式命名”:第一個單詞全小寫檩帐,后面的每一個單詞首字母大寫术幔。如:var  getUserName
    “下劃線式命名”:所有單詞全小寫,中間用下劃線連接湃密。如:var  get_user_name
4诅挑、給變量賦值
    給變量賦值,就是往“空間”中裝東西泛源。
    使用賦值號“=”來給變量賦值拔妥。
    語法:var 變量名 = 變量值
    舉例:var name = “張三”;
    
    “=”的理解
        將“=”右邊的“運算結(jié)果”賦給左邊的變量名。
        應(yīng)該是“=”右邊先運算俩由,再把運算的結(jié)果毒嫡,賦給左邊的變量。
        “=”左邊只能是一個變量名幻梯,而不能是“運算表達式”兜畸。

變量的數(shù)據(jù)類型

變量是有數(shù)據(jù)類型的,這個類型來源于“變量的值”碘梢,換句話說:值是什么類型的咬摇,變量就是什么類型的。
JS中變量的類型有:數(shù)值型煞躬、字符型肛鹏、布爾型、undefined恩沛、null在扰、array、object雷客、function

1芒珠、數(shù)值型:可以進行算術(shù)運算的(加、減搅裙、乘皱卓、除)
    數(shù)值型包括:整型(整數(shù))和浮點型(小數(shù))。
     
2部逮、字符型:用單引號或雙引號引起來的一個字符串
    注意:字符型變量不能進行算術(shù)運算娜汁,只能進行“連接”運算。
  • JS中的運算符
運算時兄朋,只能進行同類型運算掐禁。如果類型不同,將進行類型轉(zhuǎn)換。
1穆桂、算術(shù)運算符:+宫盔、-、*享完、/
    var a = 10;
    var b = a + 10;  // b = a+10 = 10+10=20
    注意:如果“+”左右兩個操作數(shù),都是數(shù)值的話有额,將執(zhí)行“加法”運算般又。
    (2)如果“+”左右有一個操作數(shù)是字符的話,那么巍佑,另一個值將轉(zhuǎn)成字符串茴迁。這兩個操作數(shù)進行的是“連接”運算。

    
    2萤衰、賦值運算符:=堕义、+=
    賦值運算符,將“=”右邊的運算結(jié)果脆栋,賦給左邊的變量倦卖。
    var a = 10+100;
    “+=”先加后等
        //聲明變量,并且給變量賦值

    var a = 10;
    //變量a先加20椿争,再將運算結(jié)果怕膛,賦給左邊的變量
    a += 20;   // 展開后 a = a + 20 = 10+20=30 

  • JS程序的基本語法
    JS是區(qū)分大小寫的。如:Name和name是兩個變量
    JS中每一條語句秦踪,一般以英文下的分號(;)結(jié)束褐捻。這個分號不是必須的。為了向PHP兼容椅邓,最好加上分號柠逞。
    運算符和變量,以及操作之間可以使用空格分開景馁,這樣的程序較容易閱讀板壮。
    var a = 100   和   var a=100   是一樣的

變量的類型——就是數(shù)據(jù)類型
變量的數(shù)據(jù)類型:數(shù)值型、字符型裁僧、布爾型个束、未定義型、空型聊疲、數(shù)組茬底、對象、函數(shù)
變量的數(shù)據(jù)類型获洲,分兩大類:
    基本數(shù)據(jù)類型:數(shù)值型阱表、字符型、布爾型、未定義型最爬、空型涉馁。很顯著的特點:一個變量名只能存一個值。
    舉例:var a = 10;
    復合數(shù)據(jù)類型:數(shù)組爱致、對象烤送、函數(shù)。顯著的特點:一個變量名糠悯,可能存多個值帮坚。
    舉例:var arr = [10,20,30,40]
    
    1、數(shù)值型:變量能進行數(shù)學運算的
    數(shù)值型包括:整型互艾、浮點型试和、NaN。
    var a = 100;
    var a = 0.9;
    var a = 0;
    數(shù)值型中還有一個很特殊的值NaN纫普。NaN(not a number)不是一個數(shù)字阅悍。
    當將其它數(shù)據(jù)類型,轉(zhuǎn)成數(shù)值型昨稼,轉(zhuǎn)不過去节视,但程序又不能報錯,這時將返回一個NaN的值悦昵。

    2肴茄、字符型:用單引號或雙引號,引起來的一個字串但指。
    var a = “我是一個字符串”;
    var b = ‘我也是一個字符串’;
    var c = “”;
    
    單引號和雙引號之間可以相互嵌套
    單引號內(nèi)只能嵌套雙引號寡痰;
    雙引號內(nèi)只能嵌套單引號。
    
    3棋凳、布爾型
    布爾型又稱邏輯型拦坠。只有兩個值:true(真)、false(假)剩岳。
    布爾型只有兩個狀態(tài)贞滨。如:性別、婚否拍棕、燈的開關(guān)晓铆、是否列入黑名單等。
    var a = true;
    var b = false;
    布爾型常用if條件判斷語句中

4绰播、未定義型
    當一個變量定義骄噪,但未賦值時,將返回未定義型蠢箩,未定義型的值只有一個undefined链蕊。
    當一個對象的屬性不存在事甜,也返回未定義型。
5滔韵、空型
    當一個對象不存在時逻谦,將返回空型,空型的值只有一個null陪蜻。
    也可以理解為:是一個對象的占位符邦马。
    如果你想清除一個變量的值的話,可以給賦一個null的值囱皿。
        var a = 100;
        var a = null ;  //將一個null賦給一個變量勇婴,用于清除它的值
變量的數(shù)據(jù)類型轉(zhuǎn)換
變量的類型轉(zhuǎn)換,一般情況是JS自動轉(zhuǎn)換的嘱腥,但也有些時候需要手動轉(zhuǎn)換。
1拘悦、其它類型轉(zhuǎn)成布爾型


函數(shù)和方法的區(qū)別
Boolean(a)  //函數(shù)是可以獨立使用的
document.write(a)   //方法不能獨立使用齿兔,方法是必須要屬于哪一個對象。


2础米、其它類型轉(zhuǎn)成字符型
var a = “”;
//“+”左右只要有一個字符串分苇,那么另一個一定得轉(zhuǎn)成字符串,才能運算
var b = a + true; // b = a + true = “true”

3屁桑、其它類型轉(zhuǎn)成數(shù)值型

  • 全局函數(shù)(頂層函數(shù))
二元運算符:運算符左右医寿,應(yīng)該有兩個操作數(shù)。如:10 + 20 
一元運算符:只有一個操作數(shù)蘑斧。如:typeof a  或  typeof(a)


判斷變量的數(shù)據(jù)類型:typeof()
使用一元運算符typeof()靖秩,可以測試一個變量的類型。
typeof()測試的結(jié)果是一個類型字符串竖瘾。
typeof()的結(jié)果字符串有幾種情況: “string” 沟突、 “number” 、 “boolean” 捕传、 “undefined” 惠拭、 “object” 、 “function”
    另外:null庸论、對象职辅、數(shù)組這三種類型,都將返回 “object”聂示。

從字符串中提取整數(shù)和浮點數(shù)函數(shù)
parseInt()系統(tǒng)函數(shù)域携、全局函數(shù)
功能:在一個字符串中,從左往右提取整型催什。如果遇到非整型的內(nèi)容涵亏,則停止提取宰睡,并返回結(jié)果。
注意:如果第一個字符就是非整數(shù)气筋,則立即停止拆内,并返回NaN。
parseInt(“120px”) = 120
parseInt(“120.98”) = 120
parseInt(“a120px”) = NaN



parseFloat()系統(tǒng)函數(shù)宠默、全局函數(shù)
功能:在一個字符串中麸恍,從左往右提取浮點型;遇到非浮點型內(nèi)容搀矫,則停止提取抹沪,并返回結(jié)果。
注意:如果第一個字符是非浮點型瓤球,則立即停止融欧,并返回NaN。
    parseFloat(“120px”) = 120
    parseFloat(“120.98”) = 120.98
    parseFloat(“.98”) = 0.98
    parseFloat(“a.98”) = NaN

JS運算符
要進行各種各樣的運算卦羡,就要使用不同的運算符號噪馏。
1、算術(shù)運算符:+绿饵、-欠肾、*、/拟赊、%刺桃、++、--
    A = 10 + 20;
    A = 10 – 20;
    A = 10 * 20;
    A = 10 / 20;
    (1)“%”取余運算符吸祟,兩個數(shù)相除瑟慈,取余數(shù)。
        A = 10 % 3;  // A = 1欢搜,如果余數(shù)不為0封豪,則兩個不能整除
        A = 10 % 2;  // A = 0,如果余數(shù)為0炒瘟,則兩個數(shù)能除盡

        
(2)“++”加1運算符吹埠、自加1
    “++”可以作前綴(++i),也可以作后綴(i++)疮装。
    如果不賦值的話缘琅,i++和++i的結(jié)果是一樣的。
如果要賦值的話廓推,i++和++i的結(jié)果就不一樣了


(3)“--”減1運算符刷袍,自減1
        “--”可以作前綴(--i),也可以作后綴(i--)樊展。
        如果不賦值的話呻纹,i--和--i的結(jié)果是一樣的堆生。
        如果要賦值的話,i++和++i的結(jié)果就不一樣了
        “--”的例了與“++”例子一樣雷酪,自己進行測試淑仆。

2、賦值運算符:=哥力、+=蔗怠、-=、*=吩跋、/=
    “+=”先加后等寞射。如:a += 10  //展開后  a = a + 10
    “-=”先減后等。如:a -= 10   //展開后  a = a - 10
    “*=”先乘后等锌钮。如:a *= 10  //展開后  a = a * 10
    “/=”先除后等桥温。如:a /= 10   //展開后  a = a / 10
3、字符串運算符:+梁丘、+=
    字符串只能進行“連接”運算策治,不能進行其它運算。
    var a = “abc”;
    var b = a + “def”;   // 結(jié)果b = a + “def” = “abc” + “def” = “abcdef”
    
    var a = “abc”;
    a += 10;   // 結(jié)果a = a + 10 = “abc” + 10 = “abc10”

4兰吟、比較運算符:>、<茂翔、>=混蔼、<=、==珊燎、!=惭嚣、===、!==
    比較運算符的運算結(jié)果是布爾值(true或false)悔政。
    A = 10 > 20;       // 結(jié)果A=false
    A = 20>=20;       // 結(jié)果A=true
    A = 10%2 == 0;    // 結(jié)果A=true
    A = 10%2 == “0”;  // 結(jié)果A=true
    A = 10%3 != 0;    // 結(jié)果A=true
    A = 10%2 === “0”;  //結(jié)果A=false
    
    “=”是賦值號晚吞。如:a = 10
    “==”等于。只比較兩個變量的值谋国,而不管類型槽地。只要值一樣,就返回true芦瘾,否則返回false捌蚊。
    “===”全等于。既比較變量近弟,也判斷類型缅糟。如果類型和值都一樣,返回true祷愉,否則返回false窗宦。

5与柑、邏輯運算符:&&伶唯、||、!
    邏輯運算符的運算結(jié)果有兩個true或false。
    “&&”邏輯與(并且關(guān)系)推正。如果左右兩個操作數(shù)都為true,則結(jié)果為true淫僻,否則溪胶,結(jié)果為false。
            邏輯與纱烘,就是兩個條件同時滿足時杨拐,則結(jié)果為true。

6擂啥、三元運算符:?:
    所謂“三元運算符”就是指三個操作數(shù)哄陶。
    語法:條件表達式 ? 結(jié)果1 : 結(jié)果2
    語法:操作數(shù)1 ? 操作數(shù)2 : 操作數(shù)3
    含義:如果條件為true,則執(zhí)行“結(jié)果1”的代碼哺壶;如果條件為false屋吨,則執(zhí)行“結(jié)果2”的代碼。
    其實:三元運算符山宾,就是if else的變形形式至扰。



  • window.prompt()
    功能:彈出一個輸入框,讓用戶來輸入內(nèi)容资锰。
    語法:var  year = window.prompt(text[,defaultText])
    參數(shù):
    Text:提示信息敢课。
    defaultText:可選項,也就是可有可無绷杜。輸入框中的默認內(nèi)容直秆。
    返回值
    如果單擊“確定”按鈕,返回一個字符串的數(shù)據(jù)鞭盟。
    如果單擊“取消”按鈕圾结,返回一個null。

  • if條件判斷
1齿诉、語法結(jié)構(gòu)——只判斷true筝野,不判斷false
if(條件判斷:結(jié)果只有兩個true或false)
{
    條件為true,將執(zhí)行該代碼鹃两;
}
說明:
    if是系統(tǒng)關(guān)鍵字遗座,必須全小寫。
    ()小括號中俊扳,是條件判斷語句途蒋,判斷的結(jié)果只有兩種可能true或false。
    {}大括號中馋记,是條件為true時号坡,將執(zhí)行的程序代碼懊烤。
    
    2、語法結(jié)構(gòu)——既判斷true宽堆,也判斷false
if(條件判斷:結(jié)果只有兩個true或false)
{
    條件為true腌紧,將執(zhí)行該代碼;
}else
{
    條件為false畜隶,將執(zhí)行該代碼壁肋;
}
    如果條件為true,則執(zhí)行第一個大括號{}中的代碼籽慢;
    如果條件為false浸遗,則執(zhí)行第二個大括號{}中的代碼。
    其中箱亿,if和else都是系統(tǒng)關(guān)鍵字跛锌。else表示“否則”的意思。

  • 特殊運算符
    new運算符:創(chuàng)建一個對象届惋。如:var today = new Date(); //創(chuàng)建一個當前系統(tǒng)日期時間對象
    delete運算符:刪除數(shù)組的元素髓帽,或者對象的屬性。
    typeof運算符:一元運算符脑豹,主要功能:判斷變量的類型的郑藏。如:typeof name  或  typeof(name)
    點運算符(.):主要應(yīng)用在對象中,通過點運算符(.)去調(diào)用屬性或方法瘩欺。如:window.alert(“OK”)
    [ ]中括號:主要用來訪問數(shù)組元素的译秦。如:arr[0] = 100;  //找到下標為0的數(shù)組元素,并重新賦值
if條件判斷語句:條件成立击碗,執(zhí)行什么代碼;條件不成立们拙,執(zhí)行什么代碼
結(jié)構(gòu)一:只判斷真(true)稍途,條件為假,什么也不做
if(條件判斷:判斷結(jié)果是一個布爾值)
{
    條件為真(true)砚婆,執(zhí)行的代碼
}
結(jié)構(gòu)二:既判斷真械拍,也判斷假
if(條件判斷)
{
    條件為真,執(zhí)行的代碼
}else
{
    條件為假装盯,執(zhí)行的代碼
}
結(jié)構(gòu)三:多條件判斷
if(條件1)
{
    代碼1坷虑;
}else if(條件2)
{
    代碼2;
}else if(條件3)
{
    代碼3;
}else
{
    如果以上條件都不成立,則執(zhí)行該代碼埂奈;
}
注意:雖然有多個條件迄损,但各條件之間是“或”的關(guān)系。每時每刻账磺,只能有一個條件成立芹敌,不能同時滿足多個條件痊远。



switch分支語句
描述:根據(jù)一個變量的不同取值,來執(zhí)行不同的代碼氏捞。
語法結(jié)構(gòu):
switch(變量)
{
    case 值1:
        代碼1;
        break;
    case 值2:
        代碼2;
        break;
    case 值3:
        代碼3;
        break;
    default:
        如果以上條件都不滿足碧聪,則執(zhí)行該代碼;
}
switch結(jié)構(gòu)說明:
    switch、case液茎、break逞姿、default都是系統(tǒng)關(guān)鍵字,都必須全小寫捆等。
    switch后的小括號():小括號內(nèi)一般是一個變量名滞造,這個變量可能會有不同的取值。
    每個case的值楚里,與變量的值進行比對断部,如果一致就執(zhí)行該case后的代碼。
    所有的case都是“或”的關(guān)系班缎,每時每刻只有一個case會滿足條件蝴光。
    每個case中的代碼執(zhí)行完畢后,必須要用break語句結(jié)束达址,結(jié)束之后蔑祟,程序?qū)⑻絪witch結(jié)束大括號之后運行。
    如果不寫break語句的話沉唠,下面所有的case語句都會執(zhí)行一遍疆虚。

if多條件判斷和switch的區(qū)別
if中的條件一般是一個范圍(a>100),而switch中的條件一般是一個變量的不同取值满葛。
while循環(huán):只要條件成立径簿,就重復不斷的執(zhí)行循環(huán)體代碼
while(條件判斷)
{
    如果條件為true,則執(zhí)行循環(huán)體代碼
}



while循環(huán)結(jié)構(gòu)說明:
    在循環(huán)開始前嘀韧,必須要對變量初始化(聲明變量篇亭,給變量給個初始值)。
    如果while的條件為true锄贷,則會重復不斷的執(zhí)行循環(huán)體中({ })的代碼译蒂。如果條件為false,則退出循環(huán)谊却。
    在循環(huán)體中柔昼,必須要有“變量更新”的語句。換句話說:兩次循環(huán)的變量的值不能一樣炎辨,如果一樣捕透,會造成“死循環(huán)”。


for循環(huán)
for(變量初始化 ; 條件判斷 ;  變量更新)
{
    循環(huán)體代碼;
}

break語句和continue語句
break語句
    描述:break語句激率,用于無條件結(jié)束各種循環(huán)(退出循環(huán))和switch咳燕。
    說明:一般情況下,需要在break語句之前加一個條件判斷乒躺。換句話說:就是條件成立了招盲,就退出循環(huán)。
    
continue語句
    描述:結(jié)束本次循環(huán)嘉冒,而開始下一次循環(huán)曹货。continue之后的代碼不再執(zhí)行了。
    說明:一般情況下讳推,需要在continue語句之前加一個條件判斷顶籽。


  • 數(shù)組
1、數(shù)組的概念
    一組數(shù)的集合银觅,稱為“數(shù)組”礼饱。
    var arr = [10,20,30,40,50];
    var arr = [“張三” , “男” , 24, “大專” , “北京科技大學” , “0101-787656544” , “99887766” ];
2究驴、數(shù)組元素
    數(shù)組中的每個值镊绪,稱為一個“數(shù)組元素”。
3洒忧、數(shù)組索引
    數(shù)組中有多個值蝴韭,每個值都有一個“編號”,通過“編號”可以訪問到數(shù)組中的每個值熙侍。
    數(shù)組中的“編號”又稱“下標”或“索引號”榄鉴。
    數(shù)組中的“下標號”是從0開始的正整數(shù)。也就是說:第1個數(shù)組元素下標為0蛉抓,第2個數(shù)組元素下標為1庆尘,第3個數(shù)組元素下標為2,依次類推巷送。
    第1個數(shù)組元素的下標一定是0减余,最后一個數(shù)組元素的下標是:長度-1。
    使用數(shù)組的目的惩系,就是使用循環(huán)遍歷數(shù)組很方面。
4如筛、數(shù)組元素的訪問
    var arr = [10,20,30,40,50];
    var arr = [“張三” , “男” , 24, “大尡つ担” , “北京科技大學” , “0101-787656544” , “99887766” ];

    訪問的方法是:數(shù)組變量名,后跟一個中括號[]杨刨,[]中括號內(nèi)是數(shù)組元素的下標晤柄。如:arr[3]

    
5、數(shù)組的長度:數(shù)組長度:就是指數(shù)組中元素的總個數(shù)妖胀。

數(shù)組的創(chuàng)建方法
1芥颈、使用new關(guān)鍵字和Array()來創(chuàng)建數(shù)組
    var arr = new Array();  //創(chuàng)建一個空數(shù)組
    var arr = new Array(“周更生” , “男” , 30);  //創(chuàng)建一個數(shù)組惠勒,并初始化數(shù)組的元素



2、使用[]來創(chuàng)建
var arr = [1,2,3,4,5];
中括號[]中爬坑,使用英文下的逗號分隔多個值纠屋。
    數(shù)組元素的值,可以是任何類型盾计。如:字符型售担、數(shù)值型、布爾型署辉、數(shù)組型族铆、對象型、函數(shù)哭尝。
    
數(shù)組的操作
    讀取元素:讀取已經(jīng)存在下標的元素哥攘。如:var age = arr[2];
    修改元素:修改已經(jīng)存在下標的元素的值(重新賦值)。如:arr[2] = 26;
    增加元素:添加一個不存在的下標的元素材鹦。
    刪除元素:使用關(guān)鍵字delete逝淹,只能刪除元素的值,而下標還在侠姑。

數(shù)組對象屬性length
一個數(shù)組创橄,其實就是一個“數(shù)組對象”。把數(shù)組看成“對象”莽红,是為了使用數(shù)組對象的屬性或方法妥畏。
在JS中,所有的內(nèi)容都是“對象”安吁。
那么醉蚁,length就是數(shù)組對象的一個屬性。如:var len = arrObj.length;
length屬性鬼店,可以動態(tài)獲取數(shù)組的長度网棍。

  • 函數(shù)
1、函數(shù)的概念
函數(shù)妇智,是將一段公共的代碼進行封裝滥玷,給它起個名字叫“函數(shù)”。
函數(shù)可以一次定義巍棱,多次調(diào)用惑畴。
函數(shù),可以將常用的功能代碼航徙,進行封裝如贷。如:用戶名的驗證、驗證碼函數(shù)、郵箱驗證杠袱、手機號碼驗證



2尚猿、函數(shù)的定義格式
function functionName([參數(shù)1][,參數(shù)2][,參數(shù)N]){
    函數(shù)的功能代碼;
    [return 參數(shù)r]
}
函數(shù)定義格式的說明
    function關(guān)鍵字是必須的,全小寫楣富。
    functionName:函數(shù)的名稱凿掂。函數(shù)名的命名規(guī)則與變量命名一樣。
    ():是定義函數(shù)時接收數(shù)據(jù)的參數(shù)菩彬。參數(shù)可有可無缠劝,多個參數(shù)之間用逗號隔開。
    形參(形式參數(shù)):定義函數(shù)時的參數(shù)就是“形參”骗灶。主要用來接收調(diào)用函數(shù)者傳過來的數(shù)據(jù)惨恭。
    形參的名稱,與變量的命名規(guī)則一樣耙旦。
    但形參不能用“var”關(guān)鍵字定義脱羡。
    參數(shù)只能存在于函數(shù)中。
    參數(shù)不需要聲明免都,直接使用锉罐。
    實參(實際參數(shù)):調(diào)用函數(shù)時的參數(shù)稱為“實參”。實參就是真正的數(shù)據(jù)绕娘。
    {}是函數(shù)的功能脓规。
    return語句,用于向函數(shù)調(diào)用者返回一個值险领,并立即結(jié)束函數(shù)的運行侨舆。
    return用于中止函數(shù)的運行。
    break用于中止各種循環(huán)绢陌。

3挨下、函數(shù)的調(diào)用
    函數(shù)定義是不會執(zhí)行的,那么脐湾,函數(shù)必須調(diào)用臭笆,才會有效果。
    函數(shù)的調(diào)用:直接寫函數(shù)名后跟小括號()秤掌,如果有參數(shù)則寫參數(shù)愁铺。小括號不能省略。

4闻鉴、函數(shù)的參數(shù)
形參的個數(shù)茵乱,要與實參的個數(shù)一致;
形參的順序椒拗,要與實參的順序一致。


全局變量和局部變量
全局變量:可以在網(wǎng)頁的任何地方(函數(shù)內(nèi)部和函數(shù)外部)使用的變量,就是“全局變量”蚀苛。
          在函數(shù)外部定義的變量在验,就是“全局變量”。
          “全局變量”既可以在函數(shù)外使用堵未,也可以在函數(shù)內(nèi)部使用腋舌。
          “全局變量”在網(wǎng)頁關(guān)閉時,自動消失(釋放空間)渗蟹。
局部變量:只能在函數(shù)內(nèi)部使用的變量块饺,稱為“局部變量”。
          “局部變量”在函數(shù)內(nèi)部定義雌芽,在函數(shù)內(nèi)部使用授艰。
          “局部變量”在函數(shù)外部無法訪問。
          “局部變量”在函數(shù)執(zhí)完完畢就消失了世落。

在函數(shù)內(nèi)部淮腾,省略關(guān)鍵字var定義的變量是“全局變量”。
注意:var關(guān)鍵字盡量別省略屉佳,省略后“全局變量”和“局部變量”會搞不清楚谷朝。


拷貝傳值和引用傳值
1、拷貝傳值:基本數(shù)據(jù)類型都是“拷貝傳值”武花。
    拷貝傳值圆凰,就是將一個變量的值“拷貝”一份,傳給了另一個變量体箕。
    拷貝傳值中专钉,兩個變量之間沒有任何聯(lián)系,修改其中一個變量的值干旁,另一個不會改變驶沼。
    這兩個變量之間,是相互獨立的争群,沒有任何聯(lián)系回怜。

基本數(shù)據(jù)類型存在“快速內(nèi)存”“棧內(nèi)存”中的。因為换薄,基本數(shù)據(jù)類型只有一個變量名和一個變量值玉雾。







2、引用傳址:復合數(shù)據(jù)類型都是“引用傳地址”
復合數(shù)據(jù)類型的存儲分兩步:
(1)將變量名和數(shù)據(jù)地址存在“快速內(nèi)存”“棧內(nèi)存”中轻要。
(2)具體的數(shù)據(jù)存在“慢速內(nèi)存”“堆內(nèi)存”中复旬。

引用傳址:將一個變量的數(shù)據(jù)地址,“拷貝”一份冲泥,傳給另了另一個變量驹碍。這兩個變量壁涎,指向“同一個地址”。
大家共享同一份數(shù)據(jù)志秃。
如果其中一個變量的值發(fā)生了改變怔球,那么,另一個變量的值也得變浮还。要變一起變竟坛。
因此,這兩個變量是有聯(lián)系的钧舌,要變大家一起變担汤。

匿名函數(shù):沒有名字的函數(shù)。
匿名函數(shù)洼冻,不能單獨定義的崭歧,也不能單獨調(diào)用。
匿名函數(shù)碘赖,一般是作為數(shù)據(jù)給其它變量賦值的驾荣。可以給普通變量普泡、數(shù)組元素播掷、對象的屬性賦值。


二維數(shù)組
給一個數(shù)組元素撼班,賦一個數(shù)組的值歧匈,那么,這個數(shù)組就是“二維數(shù)組”砰嘁。


二維數(shù)組件炉,就得用兩層循環(huán)來實現(xiàn)。也就是說循環(huán)套循環(huán)矮湘。
二維數(shù)組的循環(huán)斟冕,與二維表格的循環(huán)一模一樣。
二維數(shù)組的訪問:數(shù)組名后跟多個連續(xù)的中括號[]缅阳,第1個中括號[]代表第一維數(shù)組磕蛇,第2個中括號[]代表第二維數(shù)組。

  • 對象
1十办、對象的概念
    人就是一個“對象”秀撇,人的特征:身高、體重向族、姓名呵燕、性別、年齡件相。每個人可以有不同的本身(方法):打電腦再扭、炒股氧苍、開汽車等。
    對象是由“屬性”和“方法”構(gòu)成泛范。
2候引、JS中對象分類



自定義對象
1、使用new關(guān)鍵字結(jié)合構(gòu)造函數(shù)Object()來創(chuàng)建一個空的對象
2敦跌、使用大括號{}來創(chuàng)建一個對象

var obj = new Object();
obj.name = "hahaha";
obj.age = 22;
obj.show = function(){
    var str = "name:" + obj.name + " age:" + obj.age;
    
    return str;
}

document.write(obj.show());


var obj = {
    name:"hahaha",
    age:11,
    show:function(){
        var str = "name:" + obj.name + " age:" + obj.age;
        return str;
    }
};

  • JS內(nèi)置對象
    String對象:字符串對象,提供了對字符串進行操作的屬性和方法逛揩。
    Array對象:數(shù)組對象柠傍,提供了數(shù)組操作方面的屬性和方法。
    Date對象:日期時間對象辩稽,可以獲取系統(tǒng)的日期時間信息惧笛。
    Boolean對象:布爾對象,一個布爾變量就是一個布爾對象逞泄。(沒有可用的屬性和方法)
    Number對象:數(shù)值對象患整。一個數(shù)值變量就是一個數(shù)值對象。
    Math對象:數(shù)學對象喷众,提供了數(shù)學運算方面的屬性和方法各谚。
String對象的屬性和方法
    length:獲取字符串的長度。如:var len = strObj.length
    toLowerCase():將字符串中的字母轉(zhuǎn)成全小寫到千。如:strObj.toLowerCase()
    toUpperCase():將字符串中的字母轉(zhuǎn)成全大寫昌渤。如:strObj.toUpperCase()
charAt(index)
    功能:返回指定下標位置的一個字符。如果沒有找到憔四,則返回空字符串膀息。
    語法:strObj.charAt(index)
    參數(shù):index是指定的一個索引號,根據(jù)index索引號來返回一個字符了赵。


indexOf()
    功能:返回一個子字符串在原始字符串中的索引值(查找順序從左往右查找)潜支。如果沒有找到,則返回-1柿汛。
    語法:strObj.indexOf(substr)
    參數(shù):substr代表要查找的一個子字符串冗酿。

lastIndexOf()
    功能:在原始字符串,從右往左查找某個子字符串苛茂。如果沒找到已烤,返回-1。
    語法:strObj.lastIndexOf(substr)
    參數(shù):substr代表要查找的子字符串妓羊。
substr()
    功能:在原始字符串胯究,返回一個子字符串。
    語法:strObj.substr(startIndex [ , length])
    說明:從下標startIndex起躁绸,返回length個字符裕循。
    參數(shù):
    startIndex表示查找的起始索引號臣嚣;
    length可選,返回幾個字符剥哑。如果省略硅则,一直返回到結(jié)尾。
    
    
substring()
    功能:在原始字符串株婴,返回一個子字符串怎虫。
    語法:strObj.substring(startIndex [ , endIndex])
    說明:返回從startIndex開始索引值到endIndex結(jié)束索引值之間的所有字符。
    參數(shù):
    startIndex:代表開始索引值困介。
    endIndex:可選項大审,代表結(jié)束索引值。如果省略座哩,一般返回到結(jié)尾的所有的字符徒扶。
    提示:如果省略第二個參數(shù),那么substr()和substring()結(jié)果一樣根穷。
    注意:substring()返回的字符包含startIndex處的字符姜骡,不包含endIndex處的字符。
    舉例:
     “abcdefgh”.substring(0,5) = “abcde”
    

    “abcdefgh”.substr(0,5) = “abcde”
    “abcdefgh”.substring(2,3) = “c”
    “abcdefgh”.substr(2,3) = “cde”


split():將一個字符串轉(zhuǎn)成數(shù)組
    功能:將一個字符串切割成若干段屿良。返回一個數(shù)組圈澈。
    語法:strObj.split(分割號)
    參數(shù):參數(shù)是一個分割號的字符串。用指定的分割號將字符串切成若干段尘惧。
    舉例: “a,b,c,d”.split(“,”) = arr[“a” , “b” , “c” , “d”]


Array對象:一個數(shù)組變量士败,就是一個數(shù)組對象

length屬性:動態(tài)獲取數(shù)組長度矢炼。如:var len = arrObj.length

join()
    功能:將一個數(shù)組轉(zhuǎn)成字符串满着。返回一個字符串。
    語法:arrObj.join(連接號)
    說明:將一個數(shù)組鸠蚪,用指定的“連接號”連接成一個字符串重慢。
reverse()

    功能:將數(shù)組中各元素顛倒順序饥臂。
    語法:arrObj.reverse()
    參數(shù):無
    
    
數(shù)組元素的刪除和添加
    delete運算符,只能刪除數(shù)組元素的值似踱,而所占空間還在隅熙,總長度沒變(arr.length)。
    以前數(shù)組元素的添加核芽,只能向后添加囚戚,不能向前添加。

    shift():刪除數(shù)組中第一個元素轧简,返回刪除的那個值驰坊,并將長度減1。
    pop():刪除數(shù)組中最后一個元素哮独,返回刪除的那個值拳芙,并將長度減1察藐。

    unshift():往數(shù)組前面添加一個或多個數(shù)組元素,長度要改變舟扎。arrObj.unshift(“a” , “b” , “c”)
    push():往數(shù)組結(jié)尾添加一個或多個數(shù)組元素分飞,長度要改變。arrObj.push(“a” , “b” , “c”)
  • Date對象
Date對象和String對象不太一樣睹限,定義了一字符串譬猫,其實就是一個String對象,就可以直接調(diào)用屬性和方法羡疗。
Date對象的使用删窒,必須使用new關(guān)鍵字來創(chuàng)建,否則顺囊,無法調(diào)用Date對象的屬性和方法。

創(chuàng)建Date對象的方法
(1)創(chuàng)建當前(現(xiàn)在)日期對象的實例蕉拢,不帶任何參數(shù)
        var today = new Date();

        
(2)創(chuàng)建指定時間戳的日期對象實例特碳,參數(shù)是時間戳。
    時間戳:是指某一個時間距離1970年1月1日0時0分0秒晕换,過去了多少毫秒值(1秒=1000毫秒)午乓。
        var timer = new Date(10000);  //時間是 1970年1月1日0時0分10秒

(3)指定一個字符串的日期時間信息,參數(shù)是一個日期時間字符串
        var timer = new Date(“2015/5/25 10:00:00”);

(4)指定多個數(shù)值參數(shù)
        var timer = new Date(2015+100,4,25,10,20,0);  //順序為:年闸准、月益愈、日、時夷家、分蒸其、秒,年库快、月摸袁、日是必須的。

    getFullYear():獲取四位的年份义屏。
    getMonth():獲取月份靠汁,取值0-11。
    getDate():獲取幾號闽铐,取值1-31
    getHours():獲取小時數(shù)蝶怔。
    getMinutes():分鐘數(shù)
    getSeconds():秒數(shù)
    getMilliseconds()毫秒
    getDay()星期
    getTime()毫秒值,距離1970年1月1日至今的毫秒值
    

  • Math數(shù)學對象
Math對象是一個靜態(tài)對象兄墅,換句話說:在使用Math對象踢星,不需要創(chuàng)建實例。
    Math.PI:圓周率隙咸。
    Math.abs():絕對值斩狱。如:Math.abs(-9) = 9
    Math.ceil():向上取整(整數(shù)加1耳高,小數(shù)去掉)。如:Math.ceil(10.2) = 11
    Math.floor():向下取整(直接去掉小數(shù))所踊。如:Math.floor(9.888) = 9
    Math.round():四舍五入泌枪。如:Math.round(4.5) = 5;    Math.round(4.1) = 4
    Math.pow(x,y):求x的y次方。如:Math.pow(2,3) = 8
    Math.sqrt():求平方根秕岛。如:Math.sqrt(121) = 11
    Math.random():返回一個0到1之間的隨機小數(shù)碌燕。如:Math.random() = 0.12204467732259783

  • Number數(shù)值對象
一個數(shù)值變量,就是一個數(shù)值對象(Number對象)继薛。
toFixed()
    功能:將一個數(shù)值轉(zhuǎn)成字符串修壕,并進行四舍五入,保留指定位數(shù)的小數(shù)遏考。
    語法:numObj.toFixed(n)
    參數(shù):n就是要保留的小數(shù)位數(shù)慈鸠。
    舉例:
var a = 123.9878;
a = a.toFixed(2);   // a = “123.99”

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市灌具,隨后出現(xiàn)的幾起案子青团,更是在濱河造成了極大的恐慌,老刑警劉巖咖楣,帶你破解...
    沈念sama閱讀 218,525評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件督笆,死亡現(xiàn)場離奇詭異,居然都是意外死亡诱贿,警方通過查閱死者的電腦和手機娃肿,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來珠十,“玉大人料扰,你說我怎么就攤上這事”翰洌” “怎么了记罚?”我有些...
    開封第一講書人閱讀 164,862評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長壳嚎。 經(jīng)常有香客問我桐智,道長,這世上最難降的妖魔是什么烟馅? 我笑而不...
    開封第一講書人閱讀 58,728評論 1 294
  • 正文 為了忘掉前任说庭,我火速辦了婚禮,結(jié)果婚禮上郑趁,老公的妹妹穿的比我還像新娘刊驴。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 67,743評論 6 392
  • 文/花漫 我一把揭開白布捆憎。 她就那樣靜靜地躺著舅柜,像睡著了一般。 火紅的嫁衣襯著肌膚如雪躲惰。 梳的紋絲不亂的頭發(fā)上致份,一...
    開封第一講書人閱讀 51,590評論 1 305
  • 那天,我揣著相機與錄音础拨,去河邊找鬼氮块。 笑死,一個胖子當著我的面吹牛诡宗,可吹牛的內(nèi)容都是我干的滔蝉。 我是一名探鬼主播,決...
    沈念sama閱讀 40,330評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼塔沃,長吁一口氣:“原來是場噩夢啊……” “哼蝠引!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起蛀柴,我...
    開封第一講書人閱讀 39,244評論 0 276
  • 序言:老撾萬榮一對情侶失蹤螃概,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后名扛,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,693評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡茧痒,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,885評論 3 336
  • 正文 我和宋清朗相戀三年肮韧,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片旺订。...
    茶點故事閱讀 40,001評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡弄企,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出区拳,到底是詐尸還是另有隱情拘领,我是刑警寧澤,帶...
    沈念sama閱讀 35,723評論 5 346
  • 正文 年R本政府宣布樱调,位于F島的核電站约素,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏笆凌。R本人自食惡果不足惜圣猎,卻給世界環(huán)境...
    茶點故事閱讀 41,343評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望乞而。 院中可真熱鬧送悔,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,919評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至洁段,卻和暖如春应狱,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背眉撵。 一陣腳步聲響...
    開封第一講書人閱讀 33,042評論 1 270
  • 我被黑心中介騙來泰國打工侦香, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人纽疟。 一個月前我還...
    沈念sama閱讀 48,191評論 3 370
  • 正文 我出身青樓罐韩,卻偏偏與公主長得像,于是被迫代替她去往敵國和親污朽。 傳聞我的和親對象是個殘疾皇子散吵,可洞房花燭夜當晚...
    茶點故事閱讀 44,955評論 2 355

推薦閱讀更多精彩內(nèi)容