JavaScript基礎(一)

來源:互聯網
上載者:User

標籤:函數名   string   minutes   height   ali   java語言   轉換函式   floor   分享   

Js的曆史
1994年的時候,國外的網速7kb/10kb左右
網景公司---liveScript (領航者瀏覽器)
90年Java語言誕生
jdk1.0 --將”java”--網景公司和sun公司-javaScript
javaScript
微軟公司-jsScript (將瀏覽器免費了…),壟斷市場

JavaScript和jscript
ECMA:歐洲製造商者聯盟 組織將這兩個語言的文法統一
基礎文法一樣
BOM編程:Browser Object Model:基於瀏覽器物件模型編程
DOM編程:Document Object Model:基於文件物件模型編程

XML解析
DOM解析
SAX解析

JavaScript的基礎文法:

  1. javascript的使用
    分為兩種方式:
    1) 內部方式
    在html的head標籤體寫script標籤

2) 外部方式:匯入外部的js檔案

  1. javascript的變數問題以及資料類型
  2. 類型轉換函式

  1. Javascript的運算子
  2. JavaScript流程式控制制語句
    大體和Java語言的文法相似!
    4.函數概念
    5.Js中的內建對象
    String
    Number
    Boolean
    Math
    Date
    6.在JavaScript中常用的兩個函數
    alert("彈出一個提示框") ;
    document.write("向瀏覽器輸出內容")
    7.witch語句:格式 witch(document){....}
    將document對象當做witch語句參數,然後直接使用它裡面的write() ;
    8.or-in:針對數組或者對象進行遍曆
    for(var 遍曆的變數名 in 數組名稱/對象名稱)//{
    輸出變數名
    }
    如果是對象(js中的對象是一個重點)進行操作,那麼這裡變數名就是當前對象的屬性
    9.函數
    函數的定義:
    function 函數名稱(形式參數列表)//{
    //語句

        }

    函數的調用
    函數名稱(實際參數列表) ;

    函數中的注意事項:
    1)函數的形式參數不能有var關鍵字定義,否則報錯
    2)在js中函數是可以有return語句的,直接return,但是沒有傳回值
    3)在js中,函數是不存在的重載概念,後面定義的函數回覆蓋掉前面定義的函數
    4)當實際參數的數量小於形式參數的數量,就會出現一個值肯定是NaN;如果實際參數大於形式參數,那麼最終會計算前面的值,然後將後面的資料丟棄掉!
    5)在js的每一個函數中,裡面存在預設的數組:arguments,它的作用就是將實際參數從左至右依次賦值給形式參數(從左至右)
    10.String對象
    js中String對象 的常用方法
    chatAt() :返回指定索引位置處的字元
    indexOf():表示某個子字串在當前字串中第一次出現的索引
    lastindexOf();
    fontColor():給當前字串設定一個顏色標記
    substrint(start,end):截取功能
    11.Math對象
    向上取整 //在整數位置+1
    var num = 4.30 ;
    document.write(Math.ceil(num)+"<br/>");
    向下取整 :如果有小數部分,將小數部分去除掉,保留整數位
    document.write(Math.floor(num)+"<br/>");
    四捨五入
    document.write(Math.round(num)+"<br/>");
    獲隨機數 random():包含0,但是不包含1
    document.write(Math.random()*100+"<br/>") ;
    max/min
    document.write(Math.max(num,100)) ;

    12.定時器
    1)setInterval("任務",毫秒值) ; 每經過多少毫秒重複執行這個任務(函數)
    2)timeout("任務",毫秒值) ;經過多少毫秒後執行一次這個任務
    13.Data對象
    如何建立一個Date對象
    var date = new Date() ;
    alert(date) ; //Sun Jun 17 2018 16:05:35 GMT+0800 (中國標準時間)

    擷取系統時間:  2018年6月17日 XXX時:xx分:xx秒        --->Java中存在一個類:SimpleDateFormatgetFullYear :擷取年份document.write(date.getFullYear()+"年") ;擷取月份:getMonth 方法返回一個處於 0 到 11 之間的整數,document.write((date.getMonth()+1)+"月") ;擷取月份中的日期document.write(date.getDate()+"日"+"&nbsp;&nbsp;") ;擷取一天當中的小時document.write(date.getHours()+":") ;擷取分document.write(date.getSeconds()+":") ;擷取分鐘的秒document.write(date.getMinutes()) ;

14Array對象的建立方式
1)方式1:相當於動態初始化
var arr = new Array(3) ;
2)var arr = new Array() ; 表示0個長度
3) 直接指定數組中 具體元素
var arr = new Array("hello",100,true,‘a‘) ;
注意事項:
1)在js中,數組可以儲存任意類型的元素!
2)在js中,不存在數組角標越界一說,數組中的元素數量是可以不斷的增加..不會出現異常!

**      (二)自訂對象**(1)js中的自訂對象        定義對象            1)相當於有參構造 的形式            2)無參構造的形式            function 自訂對象(Person) (參數名){                定義屬性                定義方法            }            建立對象            var p = new Preson(實際參數) ;            //輸出對象p中的屬性值            //調用對象p中的方法    方式1:自訂對象方式1 :有參構造的形式定義一個對象function Person(name,age){ //this:代表當前對象    定義屬性    this.name = name ;    this.age = age ;    定義方法    this.speak = function (){        alert("這是說話的功能...")    }}

建立對象
var p = new Person("張三",28);

方式2:無參構造的形式定義一個對象function Person(){}建立對象var p = new Person() ;追加屬性p.name = "李四" ;p.age = 38 ;//追加方法p.speak = function(){    alert("這是李四說話的功能...")}//自訂對象方式3: 利用Object對象 ,Object對象在js中代表任意對象的一個模板定義對象function Person(){}建立對象var p = new Object() ;追加屬性p.name = "厄齊爾" ;p.age = 29 ;追加方法p.play = function (){    alert("全場隱形...") ;}自訂對象方式4    json解析  (全國的省市區三級聯動)        "標題1":"內容","名稱2":"內容2""屬性名稱1":值1, "屬性名稱2":值2, "方法名":function(){    }var p = {    //就是json格式的寫法    //追加屬性    "name":"王五",    "age":28,    "play":function(){        alert("王五會踢球...")    }};要麼使用for-in語句將對象的屬性遍曆出來,或者直接輸出document.write(p.name+"<br/>") ;document.write(p.age+"<br/>") ;調用方法p.play();

(三)原型
(1)設計一個數組工具對象,例如ArrayUtil對象,該對象提供以下兩個方法:
search(array,target): 傳入指定的數組和指定的字串,返回指定字串所在的位置
max(array): 傳入指定的數組,返回該數組中的最大值

<html>
<head>
<meta charset="UTF-8">
<title>自訂對象練習</title>
<script src="js/ArrayUtil.js"></script>
<script type="text/javascript">

//建立一個數組,靜態初始化var arr = [43,65,13,87,3,19] ;//建立ArrayUtil對象var arrayUtil = new ArrayUtil();//查詢3這個元素對應的索引var index = arrayUtil.search(arr,300) ;document.write("你要尋找的元素的位置是:"+index) ;document.write("<hr/>") ;//擷取arr中的最大值var max = arrayUtil.max(arr) ;document.write("當前數組中的最大值是:"+max);

</script>
</head>
<body>
</body>
</html>

(2問題:剛才使用的是自訂了一個對象ArrayUtil對象,完成剛才查詢和最值操作;
在不提供任何工具類的情況下,怎麼將search()和max()追加到Array(js的內建對象)對象中)
Array對象有的方法
function Array(){

        this.join = function() {        }        this.reverse = function(){        }        追加        this.search() = function(){        }        這樣寫就不行了,因為Array對象是內建對象,不能直接這做,擷取不到源碼!    }原型(prototype)        作用:就是給js中的內建對象追加方法使用的        1)每一個js內建對象都有一個原型屬性(prototype)        2)如果往原型對象中追加一個方法,那麼這個方法會自動追加到內建對象中        3)原型屬性是可以直接被內建對象調用然後追加方法

(四)其他的對象
(1)Windows對象
window對象:它代表瀏覽器的一個視窗對象

        注意:                由於window對象中的方法頻繁調用,所以為了簡化書寫方式,有時候window可以去掉            裡面涉及的方法:                    open("開啟資源檔url","以什麼什麼方式開啟(_blank)/_self","指定新開啟的視窗和高度")            和定時器相關的方法:            setInterval("任務",時間毫秒值); 沒經過多少毫秒後重複執行這個任務            clearInterval():取消和setInterval相關的任務                window.clearInterval(iIntervalID)  :這個要插入一個Id            setTimeout("任務",時間毫秒值);   經過多少毫秒後只執行一次                clearTimeout():取消和setTimeout相關的逾時事件            和彈框相關的方法            window.alert("提示框") ;  //window可以省略            window.confirm("訊息對話方塊");有確認框,取消框            prompt:提示對話方塊,其中帶有一條訊息和一個輸入框        (2)location對象:        href屬性:可以修改頁面的href屬性來實現頁面跳轉     更改的href屬性:--- URL(統一資源定位器)                                                                 URI        方法:            定時重新整理:reload()        (3)history對象        history對象中的方法            forward:裝入曆史列表中下一個url            back:裝入曆史列表中前一個url            go(正整數或者負整數)        (4)screen對象        屬性 描述     availHeight 擷取系統螢幕的工作區域高度,排除 Microsoft? Windows? 工作列。     availWidth     (5)js中的監聽器    <html><head>    <meta charset="UTF-8">    <title>js中的事件監聽器</title>
(6)事件編程的分類: 1)和點擊相關的事件 單擊點擊事件: onclick 雙擊點擊事件: obdbclick 2)和焦點相關的事件 擷取焦時間點事件:onfocus 失去焦時間點事件:onblur 3)和選項卡發生變化 和選項卡發生變化相關的事件:onchange (下拉式功能表,select標籤) 和滑鼠相關的事件: onmouseover:滑鼠經過的事件 onmouseout:滑鼠移出的事件 和頁面載入相關的事件:onload 一般用在body 當body中的內容載入完畢之後就會觸發這個事件

JavaScript基礎(一)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.