学习1
对于今天的学习,印象比较深的地方是在网页中把地图显示出来。这主要是用了地图组件。我记得之前做小程序的时候,了解过天气组件,天气api,跟这个有点像。
一开始运行的时候,弹出的浏览器里边什么都没有,也没有弹窗。群里的同学说也遇到了同样的问题,后面才知道重启电脑就好了。重启之后浏览器里面是会有内容的,可能是因为我用的是IE,阻止了弹窗跳出来,设置一下允许就行。不过一直这样也不方便,还是把默认浏览器设置成Chrome比较好。
js基础
JS与Java的区别
JS:解释型语言,运行在浏览器上
Java:服务器端语言,运行在Jvm上,强类型语言
数据类型
弱类型语言的数据类型取决于赋值
C语言的基本数据类型有4种:整型,浮点型,指针,聚合类型(数组和结构体)
Js的基本数据类型有5种:number string boolean null undefined
Java的基本数据类型有8种: byte short int long float double char boolean undefined
引用数据类型
在c语言中称为结构体,用于保存一些较为复杂的值
在js中除了基本数据类型剩下的全部都是引用数据类型
如何检测数据类型
typeof
var result = typeof a; // result为a的数据类型
基本数据和引用数据类型在内存中的表现形式
算术运算符
逻辑运算符
操作数可以为任意的数据类型,并且返回结果也可以为任意数据类型
&&
同真则真,有假则假
true && true // true
true && false // false
"hello" && "world" // "world"
如果第一个表达式为真,第二个表达式就可以决定整个表达式结果,返回第二个表达式
"" && 25.8 //""
如果第一个表达式为假,整个表达式结果就已经确定,直接返回第一个表达式,无需判断第二个表达式
||
有真则真,同假才假
true || false // true
"hello" || "world" // "hello"
如果第一个表达式为真,整个表达式结果就已经确定,直接返回第一个表达式,无需判断第二个表达式
如果第一个表达式为假,第二个表达式就可以决定整个表达式结果,返回第二个表达式
!
!true //false
比较运算符
操作数一般为数字类型但是不确保,返回值为布尔类型
>
let age = 15;
age > 16 // false
>=
<
<=
==、!=
当比较基本数据类型的时候,比较值,当值类型不同,先转换再比较, 当比较引用数据类型的时候,比较引用地址。
let a = 3;
let b = “3”;
a == b; // true
let a = {}
let b = {}
a == b // false
当比较基本数据类型的时候,先比较数据类型,如果数据类型不同直接返回false,否则再进一步比较值。
当比较引用数据类型的时候,比较引用地址。
let a = 3;
let b = "3";
a == b; // false
let a = {}
let b = {}
a == b // false
三目运算符
let age = 13;
let result = age > 16?"成年人":"未成年人"; // "未成年人"
一元运算符
+
let a = 3;
+a; // 3
-
let a = 3;
-a; // -3
类型转换
var a = true;
+true //1 将true转换为数字类型
-(-true) //1
++ 自增
let a = 3;
a++; // 4
let a = 3;
a++ + ++a; //8 a = 5
-- 自减
类型转换
1) boolean
Boolean(a)
!!a
-----------------------
true false
字符串 非空 空
数字 非0 0、NaN
null null
undefined undefined
2) string
String(a)
a+"" 任何其他数据类型与字符串相加结果都为字符串
3) number
Number(a);
+a
-(-a)
parseInt(a) parseInt表示从字符串中解析出int类型
parseInt(“23.5abc”) //23
parseFloat(a) parseFloat表示从字符串中解析Float类型
parseFloat(“23.5abc”) //23.5
parseFloat(“abc23.5”) //NaN
流程控制语句
1) 分支语句
1. if
let a = 19;
if(a>16){
console.log(“成年人”); // 只有当if中的表达式为true的时候才会执行
}
console.log(“end”); // 始终执行
1. if-else
let age = 15;
if(age>16){
console.log("成年人");
} else {
console.log("未成年人");
}
2. if-else-if
let day =2;
if(day === 1){
console.log("周一");
} else if(day === 2){
console.log("周二");
} else if(day === 3){
console.log("周三");
}...
3. switch-case
let v = 1;
switch(v){
case c1:
exp1;
break;
case c2:
exp2;
break;
...
default:
exp;
break;
}
v 与 c1对比采用的是 ===, 意味着先比较数据类型在比较值
default中可以不添加break。但是当default位于其他地方的时候一定要添加break;
循环语句
三要素:
初始化条件 结束判定条件 迭代
1~100之间的累加操作
1. for循环
for(初始化条件;结束判定条件;迭代){
循环体
}
例如:
let result = 0;
for(var i=1;i<=100;i++){
result += i; // result = reuslt + i;
}
2. while循环
初始化条件
while(结束判定条件){
循环体
迭代
}
例如:
let result = 0;
let i = 1;
while(i<=100){
result += i;
i++
}
3. do-while循环
初始化条件
do{
循环体
迭代
}while(结束判定条件);
例如:
let result = 0;
let i = 1;
do{
result += i;
i++;
} while(i<=100);