<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
</head>
<body>
<script>
//声明变量,没有初始化
var small;
console.log(small);
//声明变量,初始化
var small = 10;
console.log(small);
//检测变量的数据类型
console.log(typeof small);
//声明变量
var a = 123;//数字类型
var b = "abc"; //字符串类型
var c = undefined; //未定义类型
var d = true; //真假类型
var e = {}; //对象型
var f = function(){
};//函数类型
var g = []; //数组型,返回对象也是对象型
console.log(a,b,c,d,e,f,g); //输出很多变量
//检测以上变量的类型
console.log(typeof a);
console.log(typeof b);
console.log(typeof c);
console.log(typeof d);
console.log(typeof e);
console.log(typeof f);
console.log(typeof g);
//声明变量提前
console.log(window.price);
var price = 100;
console.log(price);
//装箱:值的类型转化为引用类型
var str = "abc" //字符串类型,即值类型
var nstr = new String(str);//把值类型加入,转换为引用类型
console.log(typeof nstr) //输出类型为object,即为对象型,引用类型
console.log(nstr)
//拆箱:引用类型转化为值类型
console.log(nstr.toString());
console.log(typeof nstr.toString());
//parseInt 将字符串的数字转整形数字,不包含小数点
console.log(parseInt(130.99))
//parseFloat 将字符串的数字转整形数字,包含小数点
console.log(parseFloat(130.99))
//函数声明,主动执行函数
function method (){
console.log("主动执行函数");
}
method();//执行该函数
//基本函数存在提前声明
method();
function method(){
console.log("提前声明变量")
}
//带返回值函数与不带返回值函数
function method1 (){
console.log("带返回值函数");
return 123
}
function method2 (){
console.log("不带返回值函数");
}
var a = method1();//执行
var b = method2();
console.log(a,b);//输出的是返回值
//有参函数与无参函数
function fun1 (a,b,c){ //括号里是形参
console.log("有参函数",a,b,c);
}
function fun2 (){
console.log("无参函数");
}
function fun3 (name,sex,age){
console.log("姓名:",name);
console.log("年龄:",age);
console.log("性别:",sex);
}
//执行
fun1(1,2,3); //传回去的实参
fun2();
fun3("薛杉杉",18,"女");
//无参函数使用函数的参数列表对象arguments接收传递参数
function fun4 (){
console.log(arguments);
console.log(arguments[0]);
console.log(arguments[1]);
console.log(arguments[2]);
console.log(arguments.length);//参数列表的长度,传了三个参数,长度为3
}
fun4(1,"abc",true); //强行给fun4传参
//匿名函数,用变量接收匿名函数,匿名函数不可以提前声明
var h = function (){
console.log("函数匿名执行")
}
h();//执行
//匿名函数有无返回值
var f1 = function(){
console.log("有返回值")
return "嗨"
}
var f2 = function(){
console.log("无返回值")
}
f1();
f2();
var k = f1();
var l = f2();
console.log(k,l); //输出的是返回值
//匿名函数有参无参
var f3 = function(a,b,c){
console.log("匿名函数有参",a,b,c)
}
var f4 = function(){
console.log("匿名函数无参")
}
f3(1,2,3);//匿名函数有参传参
f4();
//自执行函数,给外面加一个整体的小括号证明是一个整体
//自执行函数有参无参,有无返回值
var pp = (function (a,b,c){
console.log("自执行",a,b,c)
return true;
})(1,2,3);
console.log(pp); //输出的是返回的值true
//变量的作用域分为局部变量 全局变量 闭包
var stu = "你好";
function ooo (){
var m5 = 10;
console.log(stu,m5);//可以输出全局变量和局部变量
}
ooo();
//闭包
function hh (){
var ss = "uu"; //ss是当前的一个局部变量,想拿出去使用,进行闭包
return function (){
return ss;
}
}
var q = hh();
var w = q();
console.log(q); //输出的是闭包函数
console.log(w); //输出的是uu
//运算符
// ++a 先加加再运算 a++ 先运算再加加
var d = 10;
var j = 6;
var r = ++d+j;
var z = d+j--;
console.log(r);
console.log(z,j);
//求余数,加法
var v = 6;
v+=4;//v=v+4
//console.log(v);
v%=2;//v=v%2
console.log(v);
//与 && :两个都成立
//或 || :只有其中一个成立即可
//非 ! :不成立 0为false 非0为true
console.log(1==1&&1==2);
console.log(1==1||1==2);
console.log(!0); //非0为true
//条件语句
if (1==1){
console.log(true);
}
else{
console.log(false);
}
//循环嵌套
var cc = "买东西"
var aa =""
if(cc=="买东西"){
if (aa =="京东买"){
console.log("京东")
}
else if (aa == "淘宝买"){
console.log("淘宝")
}
else{
console.log("拼多多")
}
}
else{
console.log("去超市买吧")
}
//三元运算符
var aaa = 30;
var bbb = 20;
console.log(aaa-bbb>15?"前面条件为真走的代码":"前面条件为假走的代码");
//switch 语句
var jiage = 100;
var shuliang = 10;
var zhekou = 1;
var tiaojian = "花呗"
switch(tiaojian){
case"微信支付":
zhekou=1;
break;//阻止代码再向下执行
case"支付宝支付":
zhekou=0.9;
break;
case"银行卡支付":
zhekou=0.8;
break;
case"花呗":
zhekou=0.1;
break;
default:
console.log("别买了");
}
var totle = jiage*shuliang*zhekou
console.log(totle);
//for循环乘法表
for(var i = 1;i<10;i++){
var sss = ''; //加法在字符串的时候是拼接功能
for (var k=1;k<=i;k++){
sss +=i + '*' + k + '=' + (i*k) + ((i*k)<10 ? ' ' : ' ');
}
console.log(sss);
}
//把字符串转化为数字类型
var ff = "100.444";
console.log(parseInt(ff));
console.log(typeof parseInt(ff));
//parseFloat:把字符串转化为有小数点的数字类型
console.log(parseFloat(ff));
console.log(typeof parseFloat(ff));
//toFixed(1)表示保留一位小数点,且经过toFixed将数字类型转换成了字符串类型
console.log(parseFloat(ff).toFixed(1));
console.log(typeof parseFloat(ff).toFixed(1));
//number也可以把字符串类型准换为数字类型,且保留小数点
console.log(Number(ff));
console.log(Number('')); //给一个空字符,转出来是0
//转化为字符串:toString String
var ab = 12;
console.log(ab.toString());
console.log(typeof ab.toString()); //字符串类型string
console.log(String(ab));//也转化为字符串类型
console.log(typeof String(ab));
//全局变量(默认不带var是全局变量)不存在变量提升
console.log(jj);
var jj= 123;
console.log(nun);
nun= 123; //此时会报错,因为全局变量不存在变量提升
</script>
</body>
</html>
08-15
08-15
08-15
08-15