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>