標籤:常量 val 螢幕 nbsp history 引號 名稱 ror 物件模型
JavaScript是物件導向的語言。JavaScript中的所有事物都是對象,但是不使用類,它是基於原型(prototype)。對象是一種特殊的資料,擁有屬性和方法。
建立JavaScript對象
方式1. 定義並建立對象執行個體
var person=new Object();//建立對象的一個新執行個體person.name="name";//添加name屬性person.age=10;//添加age屬性//另一個方法var person={name:"name", age:10};person.eyecolor = "blue";//通過賦值為已經存在的對象添加新屬性
方式2. 利用物件建構器
就像C++裡面的建構函式,函數名和類名一致
//物件建構器function person(name, age){ this.name = name; this.age = age; //方法:在對象內的函數 this.changeName = changeName; function changeName(name){ this.name = name; }}//建立執行個體var myPerson = new person("name", 10);
Number對象
JavaScript只有一種數字類型,所有數字均為64位,都是浮點類型
- 精度:整數(最多15位),小數(最多17位)
- 進位
var y = 0377; //0開頭表示8進位
var x = 0xff;//0x表示16進位
var z = 10;//預設為10進位
number.toString(16);//用toString()方法可以輸出不同進位的數
無窮大: myNumber = Infinity; //有正負無窮大
非數字值:myNumber = NaN; isNaN(myNumber);//是否是NaN值
字串(String)對象
| 賦值 |
var str = "str";//可以用雙引號 var str = ‘str‘;//可以用單引號 |
| 訪問 |
var character = str[1];//用下標來訪問字串中的字元 |
| 長度 |
var lenth = str.length;//length屬性來計算字串長度 |
| 尋找定位 |
var n = str.indexOf("abc");//定位abc在str中第一次出現的位置,沒有找到則返回-1 var str = "aabc"; var obj = str.match("abc");//在str中尋找字串abc,並返回尋找的結果對象,只匹配一次 obj結果: ["abc", index: 1, input:"aabc", length:3] [要尋找的字串,尋找的字串在str中出現的位置,輸入的字串] |
| 替換 |
var n = str.replace("a", "b");//把str中的a替換成b,只替換第一個a,返回替換後的字串 |
| 大小寫變化 |
var up = str.toUpperCase();//全部轉換成大寫 var low = str.toLowerCase();//全部轉換成小寫 |
| 轉換成數組 |
var sstr = str.split(",");//把字串根據,將其分割存成數組 |
Date日期對象 用數字表示的月份會比實際小1,也就是0=1月份
| 擷取 |
var date = new Date();//當前日期和時間 var year = date.getFullYear();//擷取年份 var day = date.getDay();//擷取日... |
| 建立 |
var date = new Date();//當前日期和時間 var date = new Date(1000);//在1970.01.01上午8點後1000毫秒的日期 var date = new Date("October 13, 1975 11:13:00");//根據string來得到日期 var date = new Date(year, month, day, hours, minutes, seconds, milliseconds); //month=2,最後設定成3月份 |
| 設定 |
var date = new Date(); date.setFullYear(2010,0,14);//月份設定為0,實際上為1 |
| 比較 |
var date1 = new Date(); var date2 = new Date(); if(date1 == date2){} |
Array數組對象
| 建立數組 |
1. var arr=new Array(); arr[0] = 0;arr[1]=1; 2. var arr=new Array(0,1); 3. var arr=[0,1]; |
| 訪問數組 |
arr[0] = 1;//用下標來訪問 |
數組中可以有不同對象 (與python類似) |
var arr=new Array(); arr[0] = 0; arr[1] = "1"; |
| 元素個數 |
var n = arr.length; |
| 定位 |
var n = arr.indexOf(0); |
Boolean對象 代表兩個值true或false
var b = new Boolean();//0 -1 null "" false undefined NaN都表示false
Math對象 執行常見的算數任務
| 四捨五入 |
var d = Math.round(2.4); |
| 隨機數 |
var d = Math.random(); |
| 最大/小值 |
var d = Math.max(1,2,3,4); var d = Math.min(1,2,3,4); |
| 常量 |
Math.PI Math.E Math.sqrt(16);根號16 Math.SQRT2根號2 Math.SQRT1_2根號1/2 Math.LN2 Math.LN10 e為底 Math.LOG2E 2為底 Math.LOG10E 10為底 |
BOM瀏覽器物件模型
window瀏覽器視窗
- window.screen使用者螢幕資訊,可不用window作首碼
- window.location當前頁面的url,可不用window作首碼
- window.history瀏覽器的曆史,可不用window作首碼
- window.navigator瀏覽器的資訊,如名稱、版本、語言等,可不用window作首碼
彈窗
警告框: alert("no! error!")
確認框:var r = comfirm("請確認");//確認=true 取消=false
提示框:prompt("輸入的提示資訊","預設值");//提示使用者輸入資訊
計時事件
var interval = setInterval(funName,3000);//每3000毫秒迴圈執行funName函數
clearInterval(interval);//停止interval的迴圈執行
var timeout = setTimeOut(funName, 2000)//經過2000毫秒後執行一次funName函數,不迴圈
clearTimeOut(timeout);//取消這個執行
js學習——對象基礎