1. 程式人生 > >js基礎總結和物件例項

js基礎總結和物件例項

一 :js基礎總結:

反正自己對js的印象一直就是,語法太隨意,被現代人翻譯過來就是簡便和相容性好,可以作為一個一直做後臺的我,感覺學起來很尷尬,以前都有接觸和寫js,但是一直沒有全面的去學習js,最近公司的專案都快結尾了,就係統的看下js吧。下面是我自己總結的最簡單的js平時需要注意的地方,後期再寫高階點的語法,前期還是走基礎吧。

1,js對大小寫敏感

2,js忽略空格

3,js中對文字字串使用反斜槓來進行換行。

可以這樣:
document.write("Hello \

World!");

不可以這樣:
document.write \

("Hello World!");

4,js變數

·        變數必須以字母開頭

·        變數也能以 $ 和 _ 符號開頭(不過我們不推薦這麼做)

·        變數名稱對大小寫敏感(y 和 Y 是不同的變數)

1):重新宣告變數的值,他原來的值不會變。

2):無值的變數都是undefined

5,訊息框:

1)折行的

 alert: ("djf;ldsjf;dashfnfh"+"\n"+"dlajfa;lhdf;aj");

2)確認框:

var r=confirm("Press a button!");
if (r==true)    
    alert("Youpressed OK!");
else    
   alert("Youpressed Cancel!");

3)提示框:

var name=prompt("請輸入您的名字","Bill Gates")
  if(name!=null && name!="")
    document.write("你好!" + name + " 今天過得怎麼樣?")

6,js函式

1)在函式傳參的時候,函式名用雙引號引住,引數用單引號。

2)函式有返回值的時候,直接return即可,且函式宣告部分不變。

3)  在迴圈這一塊,值得一提的就還是for/in語句迴圈遍歷物件的屬性。其他的迴圈和我們學習的程式語言差不多:

var person={fname:"John",lname:"Doe",age:25};
for (x in person){
  txt=txt + person[x];
}
結果:JohnDoe25

7,js錯誤處理

1)遇到異常,catch捕獲(error.message或則error. description)

2)throw宣告:var x=prompt("請輸入 0 至 10 之間的數:","")

try{
if(x>10)      
    throw "Err1"
else if(x<0) 
    throw "Err2"
elseif(isNaN(x)) 
    throw "Err3"
} catch(er) {
if(er=="Err1")  
    alert("錯誤!該值太大!")
if(er =="Err2") 
    alert("錯誤!該值太小!")
if(er =="Err3") 
    alert("錯誤!該值不是數字!")
}

3)onerror事件:這裡面的onerror事件的用法類似是callback函式,有興趣的可以瞭解下callback函式,很有用的。

onerror=handleErr;
vartxt=""
functionhandleErr(msg,url,l) {
  txt="本頁中存在錯誤。\n"
  txt+="錯誤:" + msg + "\n"
  txt+="URL:" + url + "\n"
  txt+="行:" + l + "\n\n"
  txt+="點選“確定”繼續。\n\n"
  alert(txt);    
  return true   
}
functionmessage() {
  adddlert("Welcome guest!")
}

二:js物件例項:

1,字串物件。 var str = "hello world";

1)字串長度。str.length 為11

2)給字串新增樣式:

str.big();str.small();str.bold();
str.italics();str.blink();str.fixed();str.stricke();
str.fontcolor("Red");str.fontsize(16);str.toLowerCase();
str.toUpperCase();str.sup();
3)返回字串指定文字首次出現的位置。str.indexOf(),不存在顯示-1
4)查詢字串中特定的字元,若找到,則返回該字元-match()方法。
5)替換掉字串中指定的字元-replace()eg:str.replace(/hello/,"hi")
2,日期物件。var d = new Date();d是一物件。可以在一個物件中直接新增屬性和值-prototype eg:object.prototype.屬性名=value;
1)這個物件的方法如下:
Date() 返回當日的日期和時間。
getDate() 從 Date 物件返回一個月中的某一天 (1 ~ 31)。
getDay() 從 Date 物件返回一週中的某一天 (0 ~ 6)。
getMonth() 從 Date 物件返回月份 (0 ~ 11)。
getFullYear() 從 Date 物件以四位數字返回年份。
getYear() 請使用 getFullYear() 方法代替。
getHours() 返回 Date 物件的小時 (0 ~ 23)。
getMinutes() 返回 Date 物件的分鐘 (0 ~ 59)。
getSeconds() 返回 Date 物件的秒數 (0 ~ 59)。
getMilliseconds()返回 Date 物件的毫秒(0 ~ 999)。
getTime() 返回 1970 年 1 月 1 日至今的毫秒數。
getTimezoneOffset()返回本地時間與格林威治標準時間 (GMT) 的分鐘差。
getUTCDate() 根據世界時從 Date 物件返回月中的一天 (1 ~ 31)。
getUTCDay() 根據世界時從 Date 物件返回週中的一天 (0 ~ 6)。
getUTCMonth() 根據世界時從 Date 物件返回月份 (0 ~ 11)。
getUTCFullYear()根據世界時從 Date 物件返回四位數的年份。
getUTCHours() 根據世界時返回 Date 物件的小時 (0 ~ 23)。
getUTCMinutes()根據世界時返回 Date 物件的分鐘 (0 ~ 59)。
getUTCSeconds()根據世界時返回 Date 物件的秒鐘 (0 ~ 59)。
getUTCMilliseconds()根據世界時返回 Date 物件的毫秒(0 ~ 999)。
parse() 返回1970年1月1日午夜到指定日期(字串)的毫秒數。
setDate() 設定 Date 物件中月的某一天 (1 ~ 31)。
setMonth() 設定 Date 物件中月份 (0 ~ 11)。
setFullYear() 設定 Date 物件中的年份(四位數字)。
setYear() 請使用 setFullYear() 方法代替。
setHours() 設定 Date 物件中的小時 (0 ~ 23)。
setMinutes() 設定 Date 物件中的分鐘 (0 ~ 59)。
setSeconds() 設定 Date 物件中的秒鐘 (0 ~ 59)。
setMilliseconds()設定 Date 物件中的毫秒 (0 ~ 999)。
setTime() 以毫秒設定 Date 物件。
setUTCDate() 根據世界時設定 Date 物件中月份的一天 (1 ~ 31)。
setUTCMonth() 根據世界時設定 Date 物件中的月份 (0 ~ 11)。
setUTCFullYear()根據世界時設定 Date 物件中的年份(四位數字)。
setUTCHours() 根據世界時設定 Date 物件中的小時 (0 ~ 23)。
setUTCMinutes()根據世界時設定 Date 物件中的分鐘 (0 ~ 59)。
setUTCSeconds()根據世界時設定 Date 物件中的秒鐘 (0 ~ 59)。
setUTCMilliseconds()根據世界時設定 Date 物件中的毫秒 (0 ~ 999)。
toSource() 返回該物件的原始碼。
toString() 把 Date 物件轉換為字串。
toTimeString()把 Date 物件的時間部分轉換為字串。
toDateString()把 Date 物件的日期部分轉換為字串。
toGMTString() 請使用 toUTCString() 方法代替。
toUTCString() 根據世界時,把 Date 物件轉換為字串。
toLocaleString()根據本地時間格式,把 Date 物件轉換為字串。
toLocaleTimeString()根據本地時間格式,把 Date 物件的時間部分轉換為字串。
toLocaleDateString()根據本地時間格式,把 Date 物件的日期部分轉換為字串。
UTC() 根據世界時返回 1970 年 1 月 1 日 到指定日期的毫秒數。
valueOf() 返回 Date 物件的原始值

2)顯示一個鐘錶:

<html>
		<head>
		<script type="text/javascript">
		function startTime()
		{
			var today=new Date()
			var h=today.getHours()
			var m=today.getMinutes()
			var s=today.getSeconds()
			// add a zero in front of numbers<10
			m=checkTime(m)
			s=checkTime(s)
			document.getElementById('txt').innerHTML=h+":"+m+":"+s
			t=setTimeout('startTime()',500)
		}
		
		function checkTime(i)
		{
			if (i<10) 
		  		i="0" + i
		  	return i
		}
		</script>
		</head>
		
		<body onload="startTime()">
			<div id="txt"></div>
		</body>
		</html>
3,陣列物件。此處可以var array = new Array(1,2,3);array.length = 3;
1)陣列的建立:new Array();new Array();new Array(element0, element1, ..., elementn);
2)Array物件的方法:
concat() 連線兩個或更多的陣列,並返回結果。eg:array.concat(4,5);
join() 把陣列的所有元素放入一個字串。元素通過指定的分隔符進行分隔。array.join("|");陣列中每個元素以|分開而不是預設的,
pop() 刪除並返回陣列的最後一個元素
push() 向陣列的末尾新增一個或更多元素,並返回新的長度。
reverse() 顛倒陣列中元素的順序。
shift() 刪除並返回陣列的第一個元素
slice() 從某個已有的陣列返回選定的元素,注意這裡的slice()是返回選定的元素,不是返回選定空間的元素。
sort() 對陣列的元素進行排序
splice() 刪除元素,並向陣列新增新元素。
toSource() 返回該物件的原始碼。
toString() 把陣列轉換為字串,並返回結果。
toLocaleString()把陣列轉換為本地陣列,並返回結果。
unshift() 向陣列的開頭新增一個或更多元素,並返回新的長度。
valueOf() 返回陣列物件的原始值
4,Math物件
1)Math的物件屬性
E返回算術常量 e,即自然對數的底數(約等於2.718)。
LN2返回 2 的自然對數(約等於0.693)。
LN10返回 10 的自然對數(約等於2.302)。
LOG2E返回以 2 為底的 e 的對數(約等於 1.414)。
LOG10E 返回以 10 為底的 e 的對數(約等於0.434)。
PI返回圓周率(約等於3.14159)。
SQRT1_2 返回返回 2 的平方根的倒數(約等於 0.707)。
SQRT2返回 2 的平方根(約等於 1.414)。
2)Math物件方法
abs(x) 返回數的絕對值。
acos(x) 返回數的反餘弦值。
asin(x) 返回數的反正弦值。
atan(x) 以介於 -PI/2 與 PI/2 弧度之間的數值來返回 x 的反正切值。
atan2(y,x) 返回從 x 軸到點 (x,y) 的角度(介於 -PI/2 與 PI/2 弧度之間)。
ceil(x) 對數進行上舍入。
cos(x) 返回數的餘弦。
exp(x) 返回 e 的指數。
floor(x) 對數進行下舍入。
log(x) 返回數的自然對數(底為e)。
max(x,y) 返回 x 和 y 中的最高值。
min(x,y) 返回 x 和 y 中的最低值。
pow(x,y) 返回 x 的 y 次冪。
random() 返回 0 ~ 1 之間的隨機數。
round(x) 把數四捨五入為最接近的整數。
sin(x) 返回數的正弦。
sqrt(x) 返回數的平方根。
tan(x) 返回角的正切。
toSource() 返回該物件的原始碼。
valueOf() 返回 Math 物件的原始值。