JS语法
1.值类型之间的相互转换
//转字符串:String() | .toString() | "" + //例:123..toString() //转数字:Number(a)| parseFloat() | parseInt() //例:parseFloat('3.14.15') => 3.14 //转布尔:Boolean(a) //非数字:NaN 当一个其他类型转化为数字类型的产物 //任何判断一个结果是否是NaN,isNaN(运算)
2.运算符
//算数运算符:+ - * / % ++ -- //赋值运算符:+= -= /= %= //比较运算符:> < >= <= == === != !== //逻辑运算符:&& || ! //三目运算符:结果 = 条件表达式 ?结果1:结果2; //js中不区分整型和浮点型,结果为什么就是什么 var res= 5/2; //2.5 //任何正整数对n取余 结果为:[0,n-1] //num++ | ++num => num=num+1; =>自增1 //++在后先赋值再自增 | ++在前先自增再赋值 var num=10; var r1=++num; console.log(r1); //++num => re=11 | num++ => re=10 console.log(num); //11 x+=10; //x=x+10 console.log(y==z); //只做值比较 => true console.log(y===z); //全等:值与类型都必须相等 => false //逻辑与:条件1 && 条件2 => 全为真则真,否则为假 //逻辑或:条件1 || 条件2 => 全为假则假,否则为真 //逻辑非:非真即假,非假即真 //逻辑与的短路效果,条件1为假,条件2就不会被执行 //逻辑或的短路效果,条件1为真,条件2就不会被执行 //三目运算符:结果=条件表达式 ?结果1:结果2; //条件满足,执行:前的结果1,否则执行:后的结果2
3.if条件判断
// +做类型转换 var salary = +prompt("请输入工资:"); if (salary > 88888) { console.log("开始还账!"); salary -= 50000; console.log("开始购物 30000!"); salary -= 30000; // 最少剩8888 if (salary > 10000) { console.log("旅游!"); } else if (salary > 9000) { console.log("花200学习!"); salary -= 200; } else { console.log("吃土!") } } else { console.log("要求提薪"); } // if可以省略else if, 也可以省略else // if可以嵌套 // if(条件){ 逻辑体 } else if(条件){ 逻辑体 } else{ 逻辑体 }
4.循环
// 循环比较 // 1.for: 解决已知循环次数的 // 2.while: 可以解决所有for循环可以解决的问题,也可以解决不知道循环次数但知道结束条件 // 3.do...while: 无论条件是否满足,循环体都会被执行一次 for (循环变量①; 条件表达式②; 循环变量增量③) { 代码块④; } = while (条件表达式) { 代码块; } do { 代码块; } while (条件表达式); // break:结束本层循环 // continue:结束本次循环进入下一次循环
5.函数
//js函数的重点:如何给事件提供功能 //1.函数的定义 function 函数名(形参列表){ 函数体; }; //2.函数的调用(可以在函数定义之前,调用) var res=函数名(实参列表); //3.函数的参数 //i.个数不需要统一 //ii.可以任意位置具有默认值 //iii.通过...语法接收多个值 //4.返回值 //i.可以空return操作,用来结束函数 //ii.返回值可以为任意js类型数据 //iii.函数最多只能拥有一个返回值 //5.匿名函数:没有名字的函数,函数只能在定义的时候自己来调用一次,之后再也无法被调用 //匿名函数 自定义 (function () { //产生具备名称空间(局部作用域),并且可以随着匿名函数调用完毕,被回收 var aaa=1000; console.log('匿名函数的自调用') })()