Javascript basic
Javascript basic
如何使用
1.直接在HTML內加入
<script> </script>
2.外部檔案
<script src=""> </script>
選取
1.選取id
document.getElementById("")
2.選取tag
document.getElementsByTagName("")
3.選取class
document.getElementsByClassName("")
型別
var length = 16; // Number
var lastName = "Johnson"; // String
var cars = ["Saab", "Volvo", "BMW"]; // Array
var x = {firstName:"John", lastName:"Doe"}; // Object
查詢型別
typeof "john"
http://www.w3schools.com/js/tryit.asp?filename=tryjs_datatypes_typeof
定義物件後可以使用陣列方式存取
http://www.w3schools.com/js/tryit.asp?filename=tryjs_objects_properties_2
Scope
1.Local
區域變數只存在function內(以var 開頭)
2.Global
在function外宣告均為全域變數,在function內不以var 宣告亦為global
Array
1.宣告
var as=[];
//or
as = new Array()
但以下這兩個為不同的意思
e = [3] // e.length == 1, e[0] == 3
f = new Array(3), // f.length == 3, f[0] == undefined
2.操作array http://www.w3schools.com/js/js_array_methods.asp
比較與表達
1.比較 http://www.w3schools.com/js/js_comparisons.asp
2.表達
1
if () {
}
2
if(){
}else{
}
3
if (time < 10) {
greeting = "Good morning";
} else if (time < 20) {
greeting = "Good day";
} else {
greeting = "Good evening";
}
4
為什麼不放三個if就好?
//因為第一個if跑完他不會停,而會繼續往下跑其他if找是否有其他符合
ex:上例的time等於5
5.
switch(expression) {
case n:
code block
break;
case n:
code block
break;
default: //there is no case match
default code block
}
6.
for (i = 0; i < 5; i++) {
text += "The number is " + i + "<br>";
}
7.
var person = {fname:"John", lname:"Doe", age:25};
var text = "";
var x;
for (x in person) {
text += person[x];
}
8.
while (i < 10) {
text += "The number is " + i;
i++;
}
9.
do {
code block to be executed
}
while (condition);
加上do的差別在於他會先執行一次,再檢查
Regular Expression
1.用途
When you search for data in a text, you can use this search pattern to describe what you are searching for.
簡言之:搜尋要找的字 RegExp
格式: / /
查找範圍: / /後可加g 或i或m 如/ /g / /gi g為找到一次後會繼續往後找,i為不分大小寫,m為找多行
查找字串 /as/g 每找到as就會印出as
查找字元 /[as]/g 找到a或s會印出,一次只找一個字,//g 代表查找所有不是a~z的字
查找特殊的字 /\b/g 查找所有數字,也是以單個字來查找
查找的附帶條件
? 等等,記得是要放在方括號外面,如果有多個附帶條件可用括號刮起來
ex:/<%(+)?%>/g
RegExp為一個object 其擁有的屬性如下
global RegExp 对象是否具有标志 g。 ignoreCase RegExp 对象是否具有标志 i。 lastIndex 一个整数,标示开始下一次匹配的字符位置。 multiline RegExp 对象是否具有标志 m。 source 正则表达式的源文本。
RegExp的 方法
compile 编译正则表达式。 exec 检索字符串中指定的值。返回找到的值,并确定其位置。 test 检索字符串中指定的值。返回 true 或 false。
較常用的為exec,可用console出其反為物件(在chrome顯示為陣列,但其要使用物件存取)
ex:
var tpl = '<p>Hello, my name is <%name%>. I\'m <%age%> years old.</p>'
var re = /<%([^%>]+)?%>/g,
match;
var match = re.exec(tpl);
console.log(match);
結果:
["<%name%>", "name", index: 21, input: "<p>Hello, my name is <%name%>. I'm <%age%> years old.</p>"]
http://www.w3schools.com/js/js_regexp.asp
JSON
Last updated
Was this helpful?