一、JS中的数据类型
1数值型:
number整数和浮点数统称为数值。例如85或3.1415926等。
2字符串型:
String由0个,1个或多个字符组成的序列。在JavaScript中,用双引号或单引号括起来表示,如"您好"、'学习JavaScript' 等。
3逻辑(布尔)型:
boolean用true或false来表示。
4空(null)值:
表示没有值,用于定义空的或不存在的引用。要注意,空值不等同于空字符串""或0。
5未定义(undefined)值:
它也是一个保留字。表示变量虽然已经声明,但却没有赋值。
6除了以上五种基本的数据类型之外,JavaScript还支持复合数据类型Object,复合数据类型包括对象和数组两种。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script>
/*
* 1 JS是弱类型的脚本语言,所有的变量 对象 的数据类型的声明统统是var
* 2 变量声明时没有确定具体的数据类型,在变量赋值时确定变量具体的数据类型
* 3 JS中数据类型有哪些 ? number string
* 4 JS中的变量可以反复声明,后声明的会覆盖之前声明的同名变量
* 5 JS中的得代码可以不用以;作为结尾 每一行代码都是一个独立的语句(建议写)
* 6 JS中字符串一般不区分 "" '' 只要不混用即可
* 6 可以用不同的类型的数据给变量赋值,变量会自动改变自身的数据类型
* 7 当给一个变量赋值为null时,变量的类型为 object
* 8 变量只声明不赋值的情况下,数据和数据类型都显示 undefined
* 9 对象 数组其他类型可以叫做复合数据类型 object
* 10 JS中的标识符命名规则和JAVA中的保持一致即可 尽量避免 使用$ 会和jQuery冲突
* */
/*var i=10;
alert(i);*/
/*var i;
i=10;*/
/*var i =10;
i=20;
var i=30;
alert(i);*/
/*var i= 10;
alert(typeof i);*/
/*var i =3.14;
alert(i)*/
/*var j="你好";
var z ='hello js';
alert(j)
alert(z)
alert(typeof j)*/
/*var i=10;
alert(i);
alert(typeof i);
i="你好";
alert(i);
alert(typeof i);*/
/*var b=2>1;
alert(b);
alert(typeof b)*/
/*var i= null;
alert(i);
alert(typeof i);*/
/*var i;
alert(i)
alert(typeof i);*/
/*var i=[1,2,3];
alert(i)
alert(typeof i)*/
/*var i=new Date();
alert(typeof i)*/
</script>
</head>
<body>
</body>
</html>
二、JS中的运算符
Js中的运算符大部分和java中的运算符一样,简单分析一下特殊的运算符号:
关于/%
JS中,数字类型都是number,除法的结果中如果没有小数位,直接就是一个整数,如有小数位,才是浮点数
JS中如果出现除零,那么结果是 infinity,而不是报错
JS取余数运算对于浮点数仍然有效,如果和0取余数,结果是NaN(not a number)
<script>
/*
* 能除尽,则默认结果就是一个整数,不能除尽,结果默认就是浮点数
* 除零不会出现异常,而是出现 Infinity
* 和0取余数,出现NaN not a number 不是一个数字
* */
alert(10/3);
alert(10/0);
alert(10%3);
alert(10%0);
</script>
关于+
+ 同时也是连接运算符,看两端的变量类型,如果都是number那么就是算数中的加法 如果有字符串,那么就是连接符号,如果是布尔类型和number相加,那么会将true转化为1 将false 转化为0
<script>
/*
* +号中 如果一段是字符串,就变成了文字拼接
* 数字和 boolean类型相加 true会转变成1 false会转变成0 再做数学运算
* */
var i=1;
alert(i+1);
alert(1+"1");
alert(1+true);
</script>
关于== 等值符
先比较类型,如果类型一致,再比较内容,如果类型不一致,会强制转换为number再比较内容
<script>
/*
* == 等值符
* 先比较类型,如果类型一致,则比较值是否相同
* 如果类型不一致,会将数据尝试转换number 再比较内容
* */
var a =1;
var b="1";
var c=true;
var d="true";
alert(a==b)// t
alert(a==c)// t
alert(a==d)// f
alert(b==c)// t
alert(b==d)// f
alert(c==d)// f
</script>
关于=== 等同符
数据类型不同 直接返回false如果类型相同 才会比较内容
<script>
/*
* === 等同符
* 如果数据类型不同,直接返回false 如果类型相同,才会继续比较内容
*
* */
var a =1;
var b="1";
var c=true;
var d="true";
alert(a===b)//f
alert(a===c)//f
alert(a===d)//f
alert(b===c)//f
alert(b===d)//f
alert(c===d)//f
alert("asdf"==="asdf")//t
</script>
三、JS中的控制流程
基本和JAVA中的一致
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script>
/*
* 定义变量表示月份
* 根据月份输出该月的季节和应季活动
* */
var i=10;
if(i ==12 || i ==1 || i==2){
alert("大约在冬季: 冬天吃火锅");
}else if(i >= 3 && i<=5 ){
alert("春天来了: 春天吃青菜");
}else if(i >= 6 && i <= 8){
alert("夏天到了: 吃烧烤喝啤酒");
}else if(i >= 9 && i <=11){
alert("秋天到了: 贴秋膘");
}else{
alert("月份有误")
}
switch(i){
case 3:
case 4:
case 5:
alert("春眠不觉晓");
break;
case 6:
case 7:
case 8:
alert("夏天蚊子咬");
break;
case 9:
case 10:
case 11:
alert("秋天一身包");
break;
case 1:
case 2:
case 12:
alert("冬天蚊子死翘翘");
break;
default:
alert("月份有误")
}
</script>
</head>
<body>
</body>
</html>
循环结构 while do_while for
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script>
var i=1;
while(i<=10){
alert(i)
i++;
}
/*
* 考试,直到分数过线为止
* 求1-10整数和 1+10*(10/2) */
var sum=0;
var j=1;
do{
sum+=j;
j++;
}while(j<=10);
alert(sum)
var sum2=0;
for(var z=1;z<=10;z++){
sum2+=z;
}
alert(sum2)
</script>
</head>
<body>
</body>
</html>
for 循环
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script>
/*
*
**
***
****
* */
for(var i =1;i<=9;i++){
for(var j=1;j<=i;j++){
document.write(j+"*"+i+"="+i*j+" ")
}
document.write("<br/>")
}
</script>
</head>
<body>
</body>
</html>
四、JS中的函数的使用
什么是JS的函数:
类似于java中的方法,JS中也可以定义一些函数,java中的方法签名包含访问修饰符,返回值类型,方法名,参数列表,异常列表,但是JS中定义函数的语法相对简单很多,主要以function作为函数关键字,具备函数名和参数列表,但是没有访问修饰符也没有返回值类型关键字和异常列表
函数定义的三种语法
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script>
/*
* 第一种语法格式 常见
* function 函数名(参数列表){js代码}
*
*
* 第二种语法
* var 函数名=function(参数列表){JS代码}
*
* 第三种语法 不常用 了解
* var 函数名=new Function('js代码')
*
* */
function fun1(){
alert("你好");
}
var fun2=function(){
alert("你很好")
}
var fun3=new Function('alert("你非常好");');
// 调用方法
fun1();
fun2();
fun3();
</script>
</head>
<body>
</body>
</html>
函数参数和返回值
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script>
/*
*
* 1传入的实参可以和形参个数不一致
* 2如果函数中有返回值,那么直接用return关键字返回即可
* */
function fun1(a,b,c){
alert("a:"+a);
alert("b:"+b);
alert("c:"+c);
}
//fun1(10,"hello js",false);
// 少传参数 OK
//fun1(1,2);
// 多传参数 OK 多出来的参数相当于没传
//fun1(10,"hello js",false,new Date());
function fun2(a,b){
var c=a*b;
return c;
}
//var x =fun2(10,20);
//alert(x)
// 方法本身作为参数(了解)
function funa( i ,j){
return i+j;
}
function funb(a){
return a(10,20);
}
var sum =funb(funa)
alert(sum)
</script>
</head>
<body>
</body>
</html>
总结:
主要介绍了JavaScript的基本语法和常见用法,包括数据类型、运算符、控制流程和函数的使用。JavaScript是弱类型语言,运算符的行为和其他语言有所不同,理解这些基础知识有助于编写更高效的JavaScript代码。