Web 初學者的第六堂課
網頁的魔術師 -- Javascript
學校剛期中考完,我們也來期中考吧
開玩笑的 XD
讓我們看看之前上過了些什麼
Web 初學者的第一堂課
- HTTP
- POST, GET, UPDATE, DELETE
- OSI
- IP, DNS
WEB 初學者的第二堂課
- HTML, XML
- Head, Body
- Doctype, Meta
- URL Encode
- Inline Element
- Block Element
WEB 初學者的第三堂課
- Evolution of Web
- HTML5
- Fullscreen API
- Page Visibility API
- getUserMedia API
- Battery API
- Link Prefetching
WEB 初學者的第四堂課
- CSS
- Value Units
- Box Model
- Position Property
- CSS Selectors
- Pseudo-class
- Import CSS
WEB 初學者的第五堂課
- Bootstrap
- Grid system
- LayoutIt
Javascript 是什麼?
Javascript
- 直譯式程式語言
- 給HTML網頁增加動態功能
- ECMA
JavaScript 包括以下幾個部分
- ECMAScript,描述了該語言的語法和基本物件
- 文件物件模型(DOM),描述處理網頁內容的方法和介面
- 瀏覽器物件模型(BOM),描述與瀏覽器互動的方法和介面
JAVASCRIPT 跟 JAVA 不一樣
就像熱狗跟狗也是兩種不同的東西
何謂直譯?
console.log("Hello");
console.nogg("World");
console.log("Welcome to ttucscec!");
所以說 Javascript 可以幹嘛
可以讓你看漫畫更方便
可以讓圖片轉圈圈
R=0;x1=.1;y1=.05;x2=.25;y2=.24;x3=1.6;y3=.24;x4=300;y4=200;x5=300;y5=200;DI=document.getElementsByTagName("img");DIL=DI.length;function A(){for(i=0;i-DIL;i++)DIS=DI[i].style,DIS.position="absolute",DIS.left=Math.sin(R*x1+i*x2+x3)*x4+x5+"px",DIS.top=Math.cos(R*y1+i*y2+y3)*y4+y5+"px";R++}setInterval("A()",5);
可以竄改網頁
document.body.contentEditable = true
HelloWorld
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>HelloWorld</title>
</head>
<body>
<h1>Lesson 6 -- Javascript!</h1>
<input type="text" id="a1">
<input type="text" id="a2">
<button onclick="javascript:alert('HelloWorld')">ClickMe!</button>
<button onclick="javascript:mult(a1.value, a2.value)">Multiple!</button>
<script>
function math(a, b) {
return a * b;
}
function mult(a, b) {
alert(math(a, b));
}
</script>
</body>
</html>
Data Type
- Boolean
- Number
- String
- Array
- Object
Dynamic Types
var x; // Now x is undefined
var x = 5; // Now x is a Number
var x = "EnHou"; // Now x is a String
var x += 5; // Concept
var x = "'"; // Single quotes inside double quotes
typeof Operator
typeof "EnHou" // Returns string
typeof 3.14 // Returns number
typeof NaN // Returns number
typeof false // Returns boolean
typeof [1,2,3,4] // Returns object
typeof {name:'EnHou', age:22} // Returns object
typeof new Date() // Returns object
typeof function () {} // Returns function
typeof myCar // Returns undefined (if myCar is not declared)
typeof undefined // Returns undefined
typeof null // Returns object
Difference Between Undefined and Null
typeof undefined // undefined
typeof null // object
null === undefined // false
null == undefined // true
The Concept of Data Types
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>HelloWorld</title>
</head>
<body>
<h1>Lesson 6 -- Javascript!</h1>
<input type="text" id="a1">
<input type="text" id="a2">
<button onclick="javascript:alert('HelloWorld')">ClickMe!</button>
<button onclick="javascript:mult(a1.value, a2.value)">Multiple!</button>
<script>
function math(a, b) {
return a * b;
}
function mult(a, b) {
alert(math(a, b));
}
var EnHao = 21;
console.log("主恩好帥,距離18歲已經過了" + (EnHao - 18) + '年,誠徵女友');
</script>
</body>
</html>
Functions
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>HelloWorld</title>
</head>
<body>
<h1>Lesson 6 -- Javascript!</h1>
<input type="text" id="a1">
<input type="text" id="a2">
<button onclick="javascript:alert('HelloWorld')">ClickMe!</button>
<button onclick="javascript:mult(a1.value, a2.value)">Multiple!</button>
<script>
math = function(a, b) {
return a * b;
}
function mult(a, b) {
alert(math(a, b));
}
var EnHao = 21;
console.log("主恩好帥,距離18歲已經過了" + (EnHao - 18) + '年,誠徵女友');
</script>
</body>
</html>
Objects
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>HelloWorld</title>
</head>
<body>
<h1>Lesson 6 -- Javascript!</h1>
<button onclick="javascript:handsome(1)">ClickMe!</button>
<script>
function handsome(level) {
if (level >= 100)
alert("跟 Sunny 一樣好帥")
else if (level > 50 && level < 100)
alert("雖然比不上 Sunny 不過還算帥");
else
alert("長得醜不是你的錯但跑出來嚇人就是你的不對了");
}
var EnHao = {
age: 21,
height: 187,
handsome: 100
};
console.log("主恩好帥,距離18歲已經過了" + (EnHao.age - 18) + '年,誠徵女友');
handsome(EnHao.handsome);
</script>
</body>
</html>
Loops
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>HelloWorld</title>
</head>
<body>
<h1>Lesson 6 -- Javascript!</h1>
<script>
for (var i = 0; i < 3; ++i) {
console.log("主恩好帥");
}
while (i++ < 65536) {
console.log("Sunny 好帥");
}
</script>
</body>
</html>
String Methods
- indexOf
- search
- slice
- replace
- charAt
- charCodeAt
- split
Document Object Model

DOM Programming Interface
- getElementById
- getElementsByTagName
- getElementsByClassName
- querySelector
- querySelectorAll
Changing HTML Elements
- innerHTML
- setAttribute
- style
- textContent
- createElement
- removeChild
- appendChild
Events Handlers
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>HelloWorld</title>
</head>
<body>
<h1>Lesson 6 -- Javascript!</h1>
<button id="cm">點我</button>
<script>
cm.onclick = function() {
alert("Sunny 好帥!")
}
</script>
</body>
</html>
之後我們會來講講 jQuery
jQuery 有多強大呢?

下禮拜會請前任腹黑社長大大代課
告訴大家人工智慧很重要的一環,神經網路是什麼!
Web 初學者的第六堂課
By Albert Hsieh
Web 初學者的第六堂課
大同資訊創意研究社系列社課
- 1,138