javaweb-day03

javascript

  1. 復(fù)合數(shù)據(jù)類型:內(nèi)置對象,自定義對象笛谦,瀏覽器對象饥脑,擴展對象灶轰;
  2. 內(nèi)置對象:Date,Math鳄抒,Number许溅,String(可以參考javascript文檔)
  3. 自定義對象:(看代碼)秉版;
  4. 瀏覽器對象:BOM,瀏覽器對象模型并蝗;

數(shù)組

  1. 定義:數(shù)組就是一組元素的集合滚停;
  2. 特點:定義數(shù)組的初始化大小不會影響最終向數(shù)組中添加的元素键畴;數(shù)組元素類型不限突雪,即雜合類型
  3. 數(shù)組定義方法:var num = new Array();var num = new Array(a,b,c);

函數(shù)

1.函數(shù)就是具有一段特定功能的片段咏删;函數(shù)可以沒有返回值督函,需要返回值時利用return返回激挪;

BOM

  1. 簡介:用javascript技術(shù)去操作瀏覽器的各個組成部分草穆,例如:文檔區(qū)域,狀態(tài)欄搓译,地址欄悲柱,窗口
  2. 分類:
     01——window(操作瀏覽器的窗口部分)
              alert()警告框
              confirm()確認框
              prompt()提示框
              open()在新窗口中打開web頁面
              setTimeout()一次性定時器
              setInterval()周期性定時器
        02——location(操作地址欄)
              href訪問指定的web頁面
              reload()刷新
        03——screen(與屏幕相關(guān)的屬性)
              availHeight屏幕的可用高
              availWidth屏幕的可用寬
              height垂直分辨率
              width水平分辨率
        04——document(文檔區(qū)域的屬性)
              forms所有表單的集合,通常用索引號訪問每個表單
              bgColor文檔背景色
              fgColor文檔字體色
              write()輸出字符串到文檔中
        05——history(瀏覽歷史些己,前進豌鸡,后退,調(diào)到指定地址)
              go(0)刷新
        06——navigator(關(guān)于瀏覽器的一些信息)
              appName瀏覽器名稱
              appVersion瀏覽器所在平臺和版本
  1. 各個對象的具體實現(xiàn)可以看例子

函數(shù)的三種定義方式

1.正常方法
     function add(num1,num2){
         return num1+num2;
     }
2.構(gòu)造函數(shù)方式
     var add = new Function("num1","num2","return num1+num2");
3.無/匿名函數(shù)方式
     var add = function(num1,num2){return num1+num2}
  1. 表單驗證:重要6伪辍Q墓凇逼庞!

DOM

  1. 是一種跨平臺蛇更,跨瀏覽器,跨語言的規(guī)則赛糟,可以訪問web頁面中的標簽派任;(簡單說來,該模式就是用來操作瀏覽器中的標簽的各種屬性)

             DOM規(guī)則中璧南,節(jié)點分為四種
             01——文檔節(jié)點掌逛,例如:document
             02——元素節(jié)點,例如:div
             03——文本節(jié)點司倚,例如:哈哈
             04——屬性節(jié)點豆混,例如:id=”timeID”
             在DOM這個規(guī)則看來,所有的WEB頁面动知,均是由節(jié)點(Node)組成
    
    
     getElementById():通過ID獲取元素
     getElementsByTagName():通過便簽名字獲取元素皿伺,返回是一個數(shù)組
     getElementsByName():通過名字查找元素,返回是一個數(shù)組盒粮;
    

額外內(nèi)容

關(guān)注除號運算心傀,雙等比較內(nèi)容,三等先比較類型拆讯,后比較內(nèi)容
位移:向右為除脂男,向左為乘
用位移來實現(xiàn)加密功
空運算符;
三目運算符种呐,
語句:空語句:宰翅;a

數(shù)組中可以放入任何類型的數(shù)據(jù),而且長度不固定爽室,一般不建議這樣子做
BOM:即用javascript技術(shù)操作瀏覽器的各個組成部分汁讼,窗口,文檔區(qū)域,狀態(tài)欄等
BOM分類:window,location, screen, document, history(瀏覽過的網(wǎng)頁存在的對像),navigator(關(guān)于瀏覽器一些信息)
DOM:用于操作瀏覽器中的標簽部分嘿架,定位標簽瓶珊,一個規(guī)則
針對標簽和背景等細粒度的東西可以查CSS手冊;例子:列表項樣式
javascript手冊:查詢javascript內(nèi)置對象的屬性和方法
Dhtml:查詢某個標簽的屬性耸彪,事件伞芹,方法,信息等蝉娜,window對象的方法
前景色就是文字的顏色
文檔節(jié)點:document,只有一個唱较;元素節(jié)點:html 屬性節(jié)點:border,文本節(jié)點,td

黑馬內(nèi)容

三召川、JavaScript與Html的結(jié)合方式(掌握)
    Javascript與HTML的結(jié)合方式有三種:
        1.采用事件來調(diào)用南缓,代碼寫在字符串中
            <button onclick = "alert('大家好')">點擊</button>
        2.采用定義函數(shù)的方式: 用function來定義函數(shù) 
            function fun(){ alert('你好')} ;
        3.采用外部js文件.
            利用<script src = "a.js"></script>引入

四、JavaScript基本語法(掌握)

    * 定義變量:采用var關(guān)鍵字來定義.定義的變量的類型是由給定的值來決定的荧呐。
    * 數(shù)據(jù)類型:          undifined,表示未定義類型汉形。
                 Number類型。代表了一切數(shù)字類型
                 String類型倍阐。字符串類型
                 Boolean類型获雕。布爾類型
                 Function類型。函數(shù)類型
                 Null類型收捣。      
                 object :對象類型.
    * 判斷變量的類型 : 
            1. 采用typeof函數(shù)判斷 :typeof(a) == "string"
            2. 采用instanceof運算符: a instanceof String

    * 三大結(jié)構(gòu)
        a.順序結(jié)構(gòu)
        b.選擇結(jié)構(gòu)
        c.循環(huán)結(jié)構(gòu) for,while,do...while

    * 運算符
        1.一元運算符 +(正號) -  ++ -- 
        2.二元運算符 +(加法) - * / %
        3.三元運算符 届案? :
        4.等號  == 判斷的是內(nèi)容,
                === 全等于 ,判斷類型和內(nèi)容

    * 類型的轉(zhuǎn)換
        1. Number轉(zhuǎn)String : 3 + ""
        2. Number轉(zhuǎn)Boolean :在javascript中,非0為真罢艾,0為假磕瓷。如果變量為null或者undefined贺纲,也為假.
        3. String轉(zhuǎn)Number:
                a. parseInt,parseFloat
                b. 乘以1即可

五、JavaScript 函數(shù)的定義(掌握)
    * 函數(shù)的定義有三種方式: 
        1.采用function關(guān)鍵字來定義
        2.采用匿名的方式來定義
        3.采用new Function()的方式(了解,不推薦)

    * 函數(shù)的調(diào)用:
        1.函數(shù)調(diào)用的時候參數(shù)可以傳遞多個,可以和函數(shù)定義的形參個數(shù)不符合
        2.如果函數(shù)重名了沪伙,那么調(diào)用的時候一定是調(diào)用最后一個茫打,與參數(shù)無關(guān)累贤。
    *** 推薦: 定義函數(shù)的不要重名狱杰。

    函數(shù)劫持:
            改變函數(shù)本身的作用.

六、JavaScript 全局函數(shù)(掌握)
    全局函數(shù):
        1.isNaN (掌握):用來判斷變量是否是數(shù)字類型的字符串
            NaN: not a Number ,不是一個數(shù)字
        2.parseInt,parseFloat
        3.eval(掌握): 把字符串轉(zhuǎn)換成數(shù)字
        4.escape(): 編碼
        5.unescape(): 解碼
        6.encodeURI(): 對網(wǎng)址(URL)進行編碼
        7.decodeURI(): 對網(wǎng)址(URL)進行解碼

七期奔、JavaScript常用對象介紹(掌握)
    * Array對象 數(shù)組對象侧馅,進行數(shù)組操作
        定義方式
            1.采用new的方式
            2.采用中括號[]來定義
                數(shù)組的長度可以隨時改變
                
        特點: 
            1.javascript中數(shù)組的大小可以隨時改變
            2.javascript中數(shù)組的下標可以是任意對象。

        方法: 
            1.join() : 把數(shù)組的所有元素放入一個字符串. 默認用逗號連接
            2.push() : 向數(shù)組的末尾添加一個元素
            4.reverse() :反轉(zhuǎn)
            3.shift() : 刪除并返回數(shù)組的第一個元素
            4.sort() ; 排序 .默認同類型的數(shù)據(jù)相比較.
            
    * String對象 ----- 字符串類型的引用類型
        String對象: 
            方式: substr: 截取字符串 兩個參數(shù)第一個是下標呐萌,第二個是長度
                    substring: 截取字符串 兩個參數(shù)第一個是下標馁痴,第二個是下標
                    toUppercase:
                    toLowercase:
                    indexOf:
                    charAt() :
                    replace():
    * Number對象 ---- 數(shù)字原始類型引用類型
            Num對象:
                    1. random() : 獲得隨機數(shù)[0,1)
                    2. ceil() : 返回大于等于次數(shù)的最大整數(shù)
                    3. floor() : 返回小于等于次數(shù)的最大整數(shù)
                    4. round(): 返回四舍五入后的整數(shù)
    * Boolean對象 ---- 布爾原始類型引用類型 
    * Math對象 執(zhí)行數(shù)學(xué)任務(wù)
    * Date對象 用于處理日期和時間
        Date對象: 代表一個時間
                方法: getXXX() : 拿到年月日
    * RegExp 對象正則表達式對象 
        正則表達式
            寫法: 1. new的方式   var r = new RegExp("ab") ;
                   2. 采用/正則表達式/ (推薦)  var r = /ab/ ;    

BOM

1.BOM的概述
    browser object modal :瀏覽器對象模型。
    瀏覽器對象:window對象肺孤。
    Window 對象會在 <body> 或 <frameset> 每次出現(xiàn)時被自動創(chuàng)建罗晕。

2. window的屬性
     innerHeight: 
     innerWidth:  IE不支持
        通用寫法:document.body.clientWidth
                  document.body.clientHeight
     self :等同于window對象
     parent:是打開窗口的父窗口對象
     opener:是打開窗口的父窗口對象济欢。
            2種情況下使用opener:
                   1.使用winodw.open()方法打開的頁面
                   2.超鏈(里面的target屬性要設(shè)置成_blank)
            2種情況下使用parent:
                   1.iframe 框架
                   2.frame 框架
     frames[]: 數(shù)組類型,代表子窗口的window對象的集合,可以通過frames[索引]拿到子窗口的window對象小渊。
        示例:父子窗口相互傳參.
     
    open方法法褥,是打開一個頁面.


    對話框:
         1)消息框 alert() ;
         2)確認框 confirm() ;
         3)輸入框 prompt() ; (了解)

    定時器:
       setTimeout ,setInterval
         定時器:1.setTimeout() :只會調(diào)用1次
             2.setInterval() :每隔一段時間調(diào)用1次
 
3. history對象
     a.  forward()前進
     b.  back() 后退
     c.  go(n) 正數(shù)是前進,負數(shù)是后退.

4. location對象酬屉。
        1.href 屬性: 是指要連接到其他的URL
                        寫法一半等、window.location.href='demo_window對象的close方法.html' ;
                        寫法二梆惯、window.location='demo_window對象的close方法.html' 酱鸭;

        2.reload方法: 刷新
            寫法: window.location.reload() 吗垮;

5.常用事件
    * 事件(掌握垛吗,明白每個事件發(fā)生的時機)
    鼠標移動事件
    * onmousemove(event) : 鼠標移動事件 event是事件對象。名字固定 
    * onmouseover : 鼠標懸停事件
        鼠標懸停事件: 當鼠標移動到某個控件上面的時候發(fā)生
            this: 把this寫在那個標簽里面就代表那個標簽對象
            this.style.backgroundColor : 當調(diào)用樣式表中的屬性的時候烁登,如果屬性中間有橫杠怯屉,則應(yīng)去掉.
        
         示例: 當鼠標移動到p標簽上的時候,p標簽改變樣式  (參見demo01_鼠標懸停事件.html)
    * onmouseout : 鼠標移出事件
        鼠標移開事件: 當鼠標從控件上移開的時候
        示例參見(demo_02_鼠標移開事件.html ;
        
* 鼠標點擊事件
    onclick : 當鼠標單擊某個控件時發(fā)生
        示例: 當單擊按鈕時饵沧,在<p>中顯示字符串 "冠希哥來了" 參見(demo03_鼠標單擊事件.html)
        
* 加載與卸載事件 
    onload ,onunload
        加載事件(onload) : 在整個頁面的元素加載完畢之后發(fā)生
        卸載事件(onunload) : 是在頁面關(guān)閉時發(fā)生 
          注意: onload和onunload事件必須寫在body或者圖片標簽里面
          示例參見(demo04_加載卸載事件.html)
          
* 聚焦與離焦事件
    onfocus, onblur
        聚焦事件:是在控件獲得焦點的時候發(fā)生
        離焦事件:是在控件失去焦點的時候發(fā)生

        示例: 文本框獲得焦點的時候改變樣式锨络,失去焦點時變回原樣(參見demo05_聚焦離焦事件.html)
        
* 鍵盤事件
    onkeypress,onkeyup,onkeydown
        onkeypress: 按下鍵盤按鍵并松開
        onkeydown : 按下按鍵發(fā)生
        onkeyup: 松開按鍵
        
        示例參見(demo06_鍵盤事件.html`)

* 提交與重置事件
    onsubmit,onreset
    提交事件: 是在點擊提交按鈕后發(fā)生。(必須寫在form表單中)
    重置事件: 是在點重置交按鈕后發(fā)生狼牺。

    示例: 提交表單中的數(shù)據(jù)(檢查):如果是陳冠希:通過羡儿,否則不能提交數(shù)據(jù)(參見demo07_提交重置事件.html)

        
* 選擇與改變事件
    onselect:
    onchange:
    
    onselect: 只能用于輸入框. 當選擇輸入框中的文本時發(fā)生
    onchange: 用于select和文本框.
                對于下拉框是在選項發(fā)生變化的時候發(fā)生
                對于文本框是在文本框的內(nèi)容發(fā)生變化并且失去焦點時發(fā)生

        示例: 當選擇文本框的內(nèi)容時,彈出文本框的內(nèi)容
        下拉框的selectedIndex屬性:代表選中某項的索引 
        參見(demo08_選擇與改變事件.html)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末是钥,一起剝皮案震驚了整個濱河市掠归,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌悄泥,老刑警劉巖虏冻,帶你破解...
    沈念sama閱讀 221,548評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異弹囚,居然都是意外死亡厨相,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,497評論 3 399
  • 文/潘曉璐 我一進店門鸥鹉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蛮穿,“玉大人,你說我怎么就攤上這事毁渗⌒髂欤” “怎么了?”我有些...
    開封第一講書人閱讀 167,990評論 0 360
  • 文/不壞的土叔 我叫張陵祝蝠,是天一觀的道長音诈。 經(jīng)常有香客問我幻碱,道長,這世上最難降的妖魔是什么细溅? 我笑而不...
    開封第一講書人閱讀 59,618評論 1 296
  • 正文 為了忘掉前任褥傍,我火速辦了婚禮,結(jié)果婚禮上喇聊,老公的妹妹穿的比我還像新娘恍风。我一直安慰自己,他們只是感情好誓篱,可當我...
    茶點故事閱讀 68,618評論 6 397
  • 文/花漫 我一把揭開白布朋贬。 她就那樣靜靜地躺著,像睡著了一般窜骄。 火紅的嫁衣襯著肌膚如雪锦募。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,246評論 1 308
  • 那天邻遏,我揣著相機與錄音糠亩,去河邊找鬼。 笑死准验,一個胖子當著我的面吹牛赎线,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播糊饱,決...
    沈念sama閱讀 40,819評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼垂寥,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了另锋?” 一聲冷哼從身側(cè)響起滞项,我...
    開封第一講書人閱讀 39,725評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎砰蠢,沒想到半個月后蓖扑,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,268評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡台舱,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,356評論 3 340
  • 正文 我和宋清朗相戀三年律杠,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片竞惋。...
    茶點故事閱讀 40,488評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡柜去,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出拆宛,到底是詐尸還是另有隱情嗓奢,我是刑警寧澤,帶...
    沈念sama閱讀 36,181評論 5 350
  • 正文 年R本政府宣布浑厚,位于F島的核電站股耽,受9級特大地震影響根盒,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜物蝙,卻給世界環(huán)境...
    茶點故事閱讀 41,862評論 3 333
  • 文/蒙蒙 一炎滞、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧诬乞,春花似錦册赛、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,331評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至票堵,卻和暖如春扼睬,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背换衬。 一陣腳步聲響...
    開封第一講書人閱讀 33,445評論 1 272
  • 我被黑心中介騙來泰國打工痰驱, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留证芭,地道東北人瞳浦。 一個月前我還...
    沈念sama閱讀 48,897評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像废士,于是被迫代替她去往敵國和親叫潦。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,500評論 2 359

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

  • 第一章: JS簡介 從當初簡單的語言官硝,變成了現(xiàn)在能夠處理復(fù)雜計算和交互矗蕊,擁有閉包、匿名函數(shù)氢架, 甚至元編程等...
    LaBaby_閱讀 1,676評論 0 6
  • 有人說過傻咖,很多彎路到最后都成了直路,所有的坑到最后也都成了坦途岖研;所謂的直路和坦途并不是擺在眼前的卿操,都是不斷的的...
    老衲法號一眉道人閱讀 1,336評論 0 4
  • 第1章 系好安全帶,準備啟航 1.1讓你認識JS 1.1.1 JavaScript能做什么?增強頁面動態(tài)效果(...
    張中華閱讀 1,374評論 4 10
  • js簡介 Js是一種基于事件和對象驅(qū)動的解釋性孙援、松散性的語言害淤。 一切皆對象 javascript 布蘭登艾奇 ...
    塔庫納瑪哈哈閱讀 1,220評論 0 2
  • Bintray簡介 Bintray是一個提供軟件的發(fā)布、存儲拓售、推廣窥摄、分布等功能的云平臺,對下列開發(fā)技術(shù)都提供了強大...
    匿蟒閱讀 1,459評論 10 5