JavaScript
1.JavaScript特点
- JavaScript是一门脚本编程语言
- 可跨平台的
- 依赖某种容器来运行并赋予功能,由浏览器解释执行
- 不需编译
规则:放在 末端
2.JS数据类型
- 数字型(number):整数,小数,正数,负数等等
- 字符串(string):’abc’ ,’Ab’,’a’
- 布尔型(boolean):返回值为true 或false
- 空(null):声明的值为空 如:var zhi=null;
var zhi =null;
- undefined:未定义
let zhi1; console.log(zhi1);
3.变量
字面量:常量
变量(开发中尽量减少字面量)
《ES6新规》:用以下两种方式定义变量
let:变量用let声明,无法重复定义
const:变量用const声明定义常量,不能改变
4.JS复杂数据类型
-
数组:一个变量对应多个值
-
函数:
定义函数并执行一定程序
函数定义后需调用执行
1.无参无返回值
2.无参有返回值
3.有参无返回值
4.有参有返回值
**函数内部不能再次声明函数但可以调用其他函数,调用方式和正常调用方式相同
5.逻辑判断结构
JS原理解析
任何一个非空的的值都被默解释解析为true
1.if()结构
-
if(条件语句1){
执行语句1;
} -
if(条件语句2){
执行语句2;
}else{
} -
if(条件语句3){
}else if(条件语句4){
执行语句3
}else{
执行语句4
}
弹窗: -
alert();警告弹窗,无返回值
-
confirm(); 带有确认和取消的 ,带有返回值的函数,默认boolean(true,false)
-
prompt(“13″,”1”); 带有可输入文本的,返回值是输入的内容,默认值是逗号后的1
逻辑控制:
算术运算符+-*/%
赋值运算符 = += -= /= *= %= a++ ++a a– –a a2**
比较运算符 > < != == >= <= ===
let a=1;let b=’1′;a===b 返回true
逻辑运算符:
-
&&
-
||
-
!
-
三目运算符:3>2?1:2
-
“+”特殊性:
-
可加数字,可用来连接字符
(typeof a) :返回类型
(isNaN(a)): 是否为数字;是不是一个数,是数字返回false<script> let a = true; console.log(typeof a); //判断是 否为数字 nan let result =isNaN(a); console.log(!result); </script>
条件判断:
if(){}else{}
switch(){
case 1: break;
case 2: break;
default: break;
固定值效率高
}
案例一
比较四个数大小
<script>
let a = 30;
let b = 20;
let c = 40;
let d = 30;
function getMax(num1,num2){
if(num1 > num2){
return num1;
}else if(num1 === num2){
return num1;
}else{
return num2;
}
}
let Max=getMax(getMax(a,b),getMax(c,d));
console.log(Max);
</script>
案例二
判断是否为闰年
思路:
判断闰年方法:可以被4和100整除 或 可以被400整除为闰年,否则为平年
<script>
function isRun(year){
switch(year % 400){
case 0:
console.log(year + "是闰年");
return;
default:
if(year % 4 ==0 && year % 100== 0){
console.log(year + "是闰年");
}else{
console.log(year + "年" +"不是闰年");
}
}
return;
}
isRun(2100)
</script>
<script>
let year = 2020;
function getYear(year){
if(year % 400 == 0){
console.log(year + "是闰年");
}else{
if(year % 4 ==0||year % 400==0 ){
console.log(year + "是闰年");
}else{
console.log(year + "不是闰年");
}
}
}
getYear(2020);
</script>
案例三
给定年月日计算今天是今年的第几天
方法一:采用switch-case结构
点击查看代码
<script>
//给你一个年月日,今天是今年的第几天
let year = 2022;
let month = 7;
let day = 11;
/*
思路:
判断2月份有几天,判断是不是闰年
2.如果是闰年,2月份有29天,平年为28天*/
function getCountDays(year,month,day){
let count = 0;
switch(month){
case 12:
count+=30;
case 11:
count+=31;
case 10:
count +=30;
case 9:
count +=31;
case 8:
count +=31;
case 7:
count +=30;
case 6:
count +=31;
case 5:
count +=30;
case 4:
count +=31;
case 3:
count +=(isRun2(year) ? 29 : 28);
case 2:
count +=31;
case 1:
count +=0;
}
return count+day;
}
console.log(getCountDays(2022,7,11));
//判断是否为闰年
function isRun2(year){
switch(year % 400){
case 0:
return true;
default:
if(year % 4 == 0 && year % 100 != 0){
return true;
}
return false;
}
}
方法二:采用数组
点击查看代码
function getDays(year,month,day) {
let count =day;
let every =[31,29,31,30,31,30,31,31,30,31,30,31];
if((year % 4==0 &&year % 100==0) ||year % 400==0){
every[1]=29;
}else{
every[1]=28;
}
for(let i=0;i<month-1;i++){
count +=every[i];
}
return count;
console.log(year +"是闰年"+"今天是是今年的第" + count +"天");
}
alert(getDays(2022,7,11));
总结:
通过今天的学习,发现JavaScript 在一定方面上与Java语言有很多相似之处,也有很多不同之处。比如,在定义变量时Java相比于JavaScript较严格(在Java中必须声明变量类型,而JavaScript却不用)。**
原创文章,作者:306829225,如若转载,请注明出处:https://blog.ytso.com/274146.html