#JS 自學的筆記01
阿新 • • 發佈:2018-11-16
JS 自學的筆記01
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<title>Document</title>
</head>
<body>
<script type="text/javascript" >
var a = "hello world"
console.log(a);
//console.log()控制檯輸出
//alert() 彈窗提示
alert(a);
alert(a);
var b = [1,2,3,4,5]
console.log(b[0]);
// 利用下標讀取
console.log(b);
b.pop();
// b.pop() 末尾刪除
console.log(b);
b.push(6);
// b.push() 末尾新增
console.log(b);
console.log(typeof b) ;
// typeof檢視型別
var a = 123;
var b = "456";
var c = Number(b) + a;
console.log(c);
var c = a + b;
console.log(c);
// 加法, 如果不做型別轉換處理,預設轉化為字串進行處理
var a = 2;
var b = "3.5";
var c = a * b;
console.log(c);
// 乘法,自動將字串string轉化 數字型別Number
console.log(typeof c)
document.write (c)
document.write("<br />")
// document.write() 列印在網頁頁面中
// document.write("<br />")網頁頁面中 換行
var a = 1;
var b = "1";
if(a == b){
console.log("xiangdeng")
}
//不同型別間比較,“==” 之比較,轉化成同一型別後的值後 ,看值是否相等
if(a === b){
console.log("juedui")
}
else{
console.log("NOjueudi")
}
// “===” 三個等號為絕對相等, 如果型別不同,其結果就是不等
// “==”與“===”區別(兩個等號與三個等號)
//1、對於string,number等基礎型別,==和===是有區別的
//1)不同型別間比較,==之比較“轉化成同一型別後的值”看“值”是否相等,===如果型別不同,其結果就是不等
//2)同類型比較,直接進行“值”比較,兩者結果一樣
//
//2、對於Array,Object等高階型別,==和===是沒有區別的
//進行“指標地址”比較
//
//3、基礎型別與高階型別,==和===是有區別的
//1)對於==,將高階轉化為基礎型別,進行“值”比較
//2)因為型別不同,===結果為false
var a = "3";
if(a == "1"){
console.log("今天為星期一 不是幸運日")
}
else if(a == "2"){
console.log("今天為星期二 不是幸運日")
}
else if(a == "3"){
console.log("今天為星期三 是幸運日!")
}
else if(a == "4"){
console.log("今天為星期四 不是幸運日")
}
else{
console.log("今天不是幸運日")
}
// 和python中 if-elif-else 語法相似
// 但是是有區別的 不能縮寫為elif 必須寫全else if
var a = 3;
switch(a){
case 1:console.log("不是幸運日")
case 2:console.log("不是幸運日")
case 3:console.log("是幸運日!")
case 4:console.log("不是幸運日")
}
// switch() 工作原理:首先設定表示式 n(通常是一個變數)。
// 隨後表示式的值會與結構中的每個 case 的值做比較。
// 如果存在匹配,則與該 case 關聯的程式碼塊會被執行。
// 請使用 break 來阻止程式碼自動地向下一個 case 執行。
for(var a=0;a<10;a++){
if (a == 5) {
continue;
}
console.log(a)
}
// for迴圈 console.log()列印在控制檯console
var a = 1;
while(a<10){
document.write(a)
a++;
}
document.write("<br />")
// document.write()列印在網頁中
// document.write("<br />")網頁中進行換行
// while迴圈
//
//我們知道了b=a++和b=++a的區別,不妨令a=5
//
//前者是先賦值,再自加,即b=a;a=a+1; //結果b=5,a=6
//
//後者是先自加,再賦值,即a=a+1;b=a; //結果a=6,b=6
var a = 1;
do{
console.log(a);
a++;
}while(a<10)
// do while迴圈至少執行一次,即便條件為 false,因為程式碼塊是在條件語句判斷前執行.
for(var a=1; a<10;a++){
for(var b=a;b<10;b++){
document.write(a,"*",b,"=",a*b," ")
}
document.write("<br />")
}
// 九九乘法表,document.write("<br />")換行
// " "空格
while(1){
var a = Math.ceil(Math.random()*5);
// Math.random()只能取到0-1的數
// Math.ceil()向上取整數
//◎Math.ceil()執行向上舍入,即它總是將數值向上舍入為最接近的整數;
//◎Math.floor()執行向下舍入,即它總是將數值向下舍入為最接近的整數;
//◎Math.round()執行標準舍入,即它總是將數值四捨五入為最接近的整數(這也是我們在數學課上學到的舍入規則)。
// 相當於隨機一個1-5的整數
var b = Math.ceil(Math.random()*5);
var c = a - b;
document.write(a," ",b," ",c);
document.write("<br />");
if(c == -1){
alert("B勝利");
break;
}
else if(c == 1){
alert("a勝利");
break;
}
else if(c==-4){
alert("a勝利");
break;
}
else if(c == 4){
alert("b勝利");
break;
}
else{
alert("平局");
}
}
function foo(a){
document.write(a);
}
foo("hello world");
// 簡單的函式定義用到function,相當於Python中def;
function foo1(name,age){
var per = new foo();
// function foo1(name,age) 相當於穿建了一個類class foo1(name,age)
// var per = new foo();相當於定義了一個類名為foo1的類的物件
// 相當於Python中 def __init__(self,name,age)
// self.name = name
// self,age = age
per.name = name;
per.age = age;
return per;
}
var per1 = foo1("wk",25);
var per2 = foo1("wsc",24);
var per3 = foo1("wnm",23);
document.write(per1.age);
console.log(per1)
document.write(per2.name);
document.write(per3.age);
document.write("<br />")
function foo2(name,age){
this.name = name;
this.age = age;
}
var per4 = new foo2("zz","18")
var per5 = new foo2("zc","17")
var per6 = new foo2("zx","16")
// 建立方法,呼叫方法的時候再建立物件new foo
console.log(per4)
document.write(per4.age + " ")
document.write(per5.name)
document.write("<br />")
</script>
</body>
</html>