1.算术运算符
<script>
// 算术运算符 + - * / % ++ --
var num1 = 9;
var num2 = 2;
var res = num1/num2;//4.5
var res = num1%num2;//1
console.log(res);
// a++先运算再加一 ++a 先加一再运算
// a--先运算再减一 --a 先减一再运算
var a = 10;
var res = a++ + a++;//10+11
console.log(res)//
var a = 10;
var res = ++a + a++;//11+11
console.log(res)//
var a = 10;
var res = --a + ++a;//9+10
console.log(res)//
var a = 10;
var res = a-- + a++;//10+9
console.log(res)//
</script>
2.比较运算符
<script>
// 比较运算符 > < >= <= !=(><) ==(恒等) ===(全等)
var num1 = '10';
var num2 = 10;
// ==(恒等)判断等号两边的值是否相等
console.log(num1==num2);//true
// ===(全等)判断等号两边的值和类型是否相等
console.log(num1===num2);//false
</script>
3.赋值运算符
<script>
// 赋值运算符 = += -= *= /= %=
var a=10;
a+=5;//a=a+5
console.log(a);//15
var a=10;
a-=5;//a=a-5
console.log(a);//5
</script>
4.逻辑运算符
<script>
/*
逻辑运算符
与 && 两者为真则为真,只要有假则为假
或 || 两者为假则为假,只要有真则为真
非 ! 取反 真-》假 假-》真
注意:逻辑运算存在逻辑短路
*/
var name = '';
var pass = '123123';
if(!name&&pass){
console.log(true);
}else{
console.log(false);
}
if(name||pass){
console.log(true);
}else{
console.log(false);
}
var a;
if((2>5) && (a=10)){
}
console.log(a);//undefined
var a;
if((2<5) || (a=10)){
}
console.log(a);//undefined
</script>
5.位运算符
<script>
/*
位运算符:将其先转换为二进制在进行运算
位运算符
与 & 两者为真则为真,只要有假则为假
或 | 两者为假则为假,只要有真则为真
非 ~ 取反 真-》假 假-》真
*/
console.log(2&3);//2
console.log(8|5);//13
console.log(~4);//-5
</script>
6.三元运算符
<script>
// 三元运算符 (条件)?成立时执行:不成立执行;
var name = '哈哈';
var res = name == '哈哈'?'成立':'不成立';
console.log(res);
</script>
7.if-else
<script>
// 流程控制:控制代码的执行顺序
/*
if...else
*/
// 单向分支 条件成立则执行,不成立则跳过
if(true){
console.log('条件成立则执行,不成立则跳过');
}
// 双向分支
var sex = '男';
if(sex=='男'){
console.log('男厕所');
}else{
console.log('女厕所');
}
// 多向分支
var score = 10000;
if(score>=10000){
console.log('王者');
}else if(score>=8000){
console.log('星耀');
}else if(score>=6000){
console.log('钻石');
}else if(score>=4000){
console.log('铂金')
}else{
console.log('你是猪吗?')
}
</script>
8.switch ...case
<script>
// switch(条件)...case
// 注意:case不能做判断
var str = 'aaa';
switch(str){
case 'login':
console.log('login');
break;
case 'loginOut':
console.log('loginOut');
break;
case 'register':
console.log('register');
break;
default:
console.log('输出默认值');
break;
}
</script>
9.for循环
<script>
// for(初始值,判断条件,改变条件){循环体}
for(var i=0;i<=5;i++){
console.log(i)
}
// 输出0-10之间所有的偶数
for(var i=1;i<=10;i++){
if(i%2==0){
console.log(i)
}
}
for(var i=2;i<=10;i+=2){
console.log(i)
}
var height = 0.001;
for(var i=0;i<10;i++){
height*=2;
console.log(height)
}
</script>
10.for循环关键字
<script>
// break跳出整个循环体
for(var i=1;i<10;i++){
if(i%3==0){
break;
}
console.log(i);
}
// continue结束当前循环,继续执行下一个循环
for(var i=1;i<10;i++){
if(i%3==0){
continue;
}
console.log(i);
}
</script>
11.while循环
<script>
// while(判断条件){循环体}
var num = 10;
while(num>0){
console.log(num);
num--;
}
</script>
12.do while循环
<script>
// do...while先做后判断
var num=10;
do{
console.log(num);
}while(num<0);
</script>
13.函数的定义
<script>
fun1()
// 1、标准函数定义 函数定义后,函数可以在任意地方调用
function fun1(){
console.log(111);
}
// fun1();//函数调用---执行函数体中的代码
// fun2();//fun2 is not a function
// 2 赋值方式定义
var fun2 = function(){
console.log(222);
}
console.log(fun2);
fun2()
// 3 通过对象原型定义(了解)
var fun3 = new Function(console.log(333));
fun3();
fun2 = null;
console.log(fun2);
</script>
14.函数重名
<script>
fun();//222
function fun(){
console.log(111);
}
fun();//222
function fun(){
console.log(222);
}
fun();//222
// alert()被重写
function alert(){
console.log('我被重写了');
}
alert('sss');
</script>
15.匿名函数
<script>
// 匿名函数:没有名字函数
/*
避免取名的困扰
不会被重写(重名)
匿名函数只能在定义的地方调用
在正常情况下,默认只调用一次
*/
function fun(){
console.log('我是匿名函数');
}
console.log(fun);
fun();
// 匿名函数定义并调用
(function(){
console.log('我没有名字')
})();
</script>
16.函数的参数
<script>
/*
函数的参数:
形参 形式参数
实参 实际参数
function 函数名(形参1,形参2,形参三){
}
函数名(实参)
*/
function fun(name){
console.log(name+'的名字')
}
fun('哈哈');
</script>
网友评论