標籤:函數名 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的基礎文法:
javascript的使用
分為兩種方式:
1) 內部方式
在html的head標籤體寫script標籤
2) 外部方式:匯入外部的js檔案
- javascript的變數問題以及資料類型
- 類型轉換函式
- Javascript的運算子
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()+"日"+" ") ;擷取一天當中的小時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基礎(一)