// JavaScript Document
//定义变量格式:var 变量名=值
//变量名必须是字母、数字、下划线、$符,其中数字不能开头,不能是关键字
var a1=12;
alert(a1);
//定义变量时,可以先定义不赋值,用得时候再赋值
//同一个js文件,变量不能定义两次哦
var a2;
//可以一次性定义多个变量
var b,c,a;
//隐式定义
e="你真好看";
alert(e);
//数值变量类型
var a=1;
var b=2;
//字符串类型变量,只要带引号就是字符串
var a="s";
var b="1230";
//布尔类型
var a=true;
var b=false;
//变量定义了未赋值的输出undefined
var a;
alert(a);
//空类型:变量定义了,但是赋值是null
var a=null;
//------------------------------------------------------------------------------------------------------------
//数据类型的转换
//将数值类型转成字符串
//任意类型+"" = "字符串型"
alert("1"+1);
//Tostring()方法 字符串类型=数值类型.tostring()
var a=1;
var b=a.toString();
//字符串转换成整数类型 整数类型=parseint(字符串)
var a=parseInt("1.9");
//浮点类型=parseFloat(字符串)
var a=parseFloat("12.2")
//------------------------------------------------------------------------------------------------------------
//字符串方法
var str="hello java,JAVA 你好";
//获取指定索引处的字符
var s=str.charAt(4);
//控制台打印
console.log(s);
//将指定字符串中的字母变成大写
var s=str.toUpperCase();
//将指定字符串中的字母变成小写
var s=str.toLowerCase();
//返回在大字符串中小字符串出现第一次的位置
var s=str.log(4);
//截取一段字符串,包头不包尾
var s=str.substring(5);
//截取字符串
var s=str.slice(4);
//两个字符串拼接成一个字符串
var str2="123456";
var s=str.concat(str2);
//定义规则
//.匹配所有
var reg=/./;
//匹配数字
var reg=/\d/;
//匹配非数字
var reg=/\d/;
//匹配字母、数字、下划线
var reg=/\w/;
//匹配非数字
var reg=/\W/;
//匹配想要的字母
var reg=/[0-9]/;
//判断字符串是否符合规则 规则.test(字符串名)
var flag=reg.test(str);
//匹配手机号,一共11位,其中第一位只能是1,第二位只能是3.4,7,8
var reg=/^[1][3478][0-9]{9}$/;
var phone=13845654644;
var f2=reg.test(phone);
//匹配大小写不敏感
var reg=/nihao/i;
var str="nihao";
var f=reg.test(str);
console.log(f);
//------------------------------------------------------------------------------------------------------------
//数组的定义方式
//直接定义存值
var arr=[1,2,3,1,56,654];
//第二种定义一个空数组,然后给数组赋值
var arr=[];
arr[0]=1;
arr[1]="123";
//第三种定义new array数组
var arr=new Array();
arr[0]=1;
arr[1]="123";
//对数组的取值
var a=arr[0];
var b=arr[5];
//向页面输出
document.write(a);
//获取数组长度
var len=arr.length;
//------------------------------------------------------------------------------------------------------------
//算数运算符的功能
//+号
//拼接字符串
document.write(123+"123");
// %取余,5%2==1
document.write(5%2);
//i++表示自增1,相当于i=i+1 i--
//i++运算规则:先将i的值赋给i++整体,在自增1
var a=1;
var b=2+ a++ + a++ +3 +a++;
document.write(a+b);//a=4 b=11
//++i表示自增1,相当于i=i+1 --i
//++i运算规则,先自增1,在把i的值赋给++i整体
//比较运算符 结果是布尔值
//==是判断两边的值是否相等,不判断数据类型
var f=(1==1);
document.write(f);
//!=不等于
var f=(1!=1);
//===:判断等会两边的值是否相等,并且判断类型
var f=("1"===1);
//------------------------------------------------------------------------------------------------------------
//逻辑运算符 结果是布尔值
//& 是两边都执行判断 &&是短路符,只要前面判断出结果了,后面就不在执行
//&&含义:并且,与,规则:只要有一边结果是false,结果就是false,两边结果都是true,结果才是true
document.write(true && false);//false
//||含义:或者,规则:只要有一边结果是true,结果就是true,两边是false,结果才是false
document.write(true || false);//true
// !含义:非,取反
document.write(!false);//true
//三目运算符
//格式:var 变量名=表达式(结果为布尔值)?值1:值2
//规则:如果表达式结果为true,那么输出值1;如果表达式结果为false,那么输出值2
//求三个数的最大值
var a=1,b=2,c=3;
var max=(a>b?a:b)>c?(a>b?a:b):c;
document.write(max);
//------------------------------------------------------------------------------------------------------------
//if语句
/*
if(条件(结果为布尔值的表达式)){
要执行的语句块;
}else{
要执行的语句块;
}
*/
//让用户输入一个整数,判断是否是偶数
var a=prompt("请输入一个整数");
if(a%2==0){
document.write("是偶数");
}else{
document.write("不是偶数");
}
//------------------------------------------------------------------------------------------------------------
//switch表达式
/*switch(表达式){
case 值1:执行的语句块;break;
case 值2:执行的语句块;break;
case 值3:执行的语句块;break;
default:执行的语句块;break;
}*/
//让用户输入1-7的数字,判断是工作日还是休息日
var a=prompt("请输入1-7的整数");
switch(a){
case 1:
case 2:
case 3:
case 4:
case 5:
document.write("工作日");
break;
case 6:
case 7:
document.write("休息日");
default:
document.write("您的输入有误");
}
//------------------------------------------------------------------------------------------------------------
//while循环语句
/*while(循环条件){
循环体语句块;
}*/
//打印1-10的和
var a=1,sum=0;
while(a<=10){
sum=sum+a;
a++;
}
//遍历数组
var arr=[1,22,3,6,454,56];
var i=0;
while(i<arr.length){
document.write(arr[i]);
i++;
}
//------------------------------------------------------------------------------------------------------------
// do.....while循环语句
/*
do{
循环体语句块
}while(循环条件)*/
//求1-100的和
var i=1,sum=0;
do{
sum=sum+i;
i++
}while(i<=100);
//逆序打印数组
var arr=[21,3,56,564,789];
var i=arr.length-1;
do{
document.write(arr[i]);
i--;
}while(i>=0);
//------------------------------------------------------------------------------------------------------------
//for循环语句
/*
for(表达式1;表达式2;表达式3){
循环体语句;
}*/
//表达式1:初始化循环变量 (定义的循环变量) var a=1;
//表达式2:循环条件
//表达式3:对循环变量进行操作
//执行顺序:表达式1只执行一次,表达式2(循环条件如果是true,则执行循环体语句,再走表达式三,再走表达式2进行判断,如果是false则退出循环)
//求1-100的和
var sum=0;
for(var i=1;i<=100;i++){
sum=sum+i;
}
document.write(sum);
//遍历数组
var arr=[123,15,454,4578,9];
for(var i=0;i<arr.length;i++){
document.write(arr[i]);
}
//for....in循环,用来遍历数组
var arr=[77,88,99,44,55,66];
for(i in arr){
document.write(arr[i]);
}
//break语句:跳出循环;continue语句:跳出本次循环,进行下一次循环
//打印1-10 但是打印到4的时候跳出
var i=0;
while(i<=10){
i++;
if(i==4){
break;
}
document.write(i);
}
//函数的定义(有名函数):function 函数名(形参列表){}
//计算1-10的和
function hello(){
var sum=0;
for(var i=1;i<=10;i++){
sum=sum+i;
}
document.write(sum);
}
//函数的调用:函数名(实参列表)
hello();
//求1-n的和
function add(n){
var sum=0;
for(var i=1;i<=n;i++){
sum=sum+i;
}
document.write(sum);
}
add(100);
//匿名函数
/*
var 函数名=function 函数名(形参列表){
要执行的语句块;
}
*/
//return 把值返回给调用它的
//写一个函数,传递一个数组,求数组中内容的和,并返回和
var add=function(arr){
var sum=0;
for(var i=0;i<arr.length;i++){
sum=sum+arr[i];
}
return sun;
}
var a=[1,2,3,546,56];
var f=add(a);
document.write(f);
//------------------------------------------------------------------------------------------------------------
//全局变量 局部变量
//全局变量
var a=1;
function get(){
//局部变量
var b=2;
document.write(a);
document.write(b);
}
get();
document.write(a);
document.write(b);
//获取当前系统日期
var date=new Date();
//获取毫秒
var date=new Date(1000000000);
//获取某一个时间
var date=new Date(xxxx,xx,xx,xx:xx:xx)
//对象调用方法,对象名.方法名(实参列表)
//获取年
var year=date.getFullYear();
//获取月+1
var mon=date.getMonth()+1;
//获取星期几
var day=date.getDate();
//获取小时
var hour=date.getHours();
//获取分钟
var min=date.getMinutes();
//获取秒
var sec=date.getSeconds();
document.write("今天是"+year+"年"+mon+"月"+day+"日"+hour+":"+min+":"+second+","+"星期"+week+"<br>");
//获取当前毫秒值
var ms=date.getTime();
//------------------------------------------------------------------------------------------------------------
//获取当前系统时间
var date=new Date();
//设置年月日,无返回值不用接
//设置年
date.setFullYear(1999);
//设置月
date.setMonth(7);
//设置天
date.setDate(10);
//设置小时
date.setHours(8);
//设置分钟
date.setMinutes(8);
//设置秒
date.setSeconds(7);
//------------------------------------------------------------------------------------------------------------
//数学方法
//获取绝对值
var num=Math.abs(-12.1);
//向大取整
var num=Math.ceil(12.2);
//向小取整
var num=Math.floor(12.9);
//求两数最大值
var num=Math.max(1,2);
//求两数最小值、
var num=Math.min(1,2);
//求次幂
var num=Math.pow(2,10);
//产生[0-1)直接的随机小数
var num=Math.random();
//四舍五入
var num=Math.round(12.2);
//求平方根
var num=Math.sqrt(100);
//求π的值
var num=Math.PI;