JavaScript-day02

目录

一、数据类型检测

二、数类型转换

1.其他类型转换为布尔

总结:

        数据类型转换首字母要大写,方法名就是数据类型名

        非字符串、非零数字、对象   都为true

        空字符串、0、null、Undefined  都为false

2.其他类型转数字Number

3.其他类型转为整数  parseInt

4.其他类型转为浮点型  parseFloat(同parseInt)

5.其他类型转字符串  String

6.其他类型转字符串  toString

三、隐式转换(浏览器自给)

四、算术运算符

五、赋值运算符

六、自增自减运算符

七、逻辑运算符

1.与 、和、且 :  &&

2.或 、或者 : ||

3.非、不是、 取反 : !

八、关系运算符

1.大于  >

2.小于  <

3.等于  ==

4.大于等于

5.小于等于

6.不等于

九、运算符优先级

十、if判断语句

十一、for循环语句

1.for循环语句

2.累加器


一、数据类型检测

typeof  类型检测

var num = 12;
        var str = '男';
        var boo = false;
        var und;
        var nul = null;

console.log(typeof num); //number
        console.log(typeof str); //string
        console.log(typeof boo); //boolean
        console.log(typeof und); //undefined
        console.log(typeof nul); //object

  只有null是object类型 其他基本数据类型都是自己的名字

二、数类型转换

1.其他类型转换为布尔

  (1)数字类型转换Boolean  

        只有0会被转换为false  其他所有非0数字都会被转换为true

console.log(Boolean(1));
        console.log(Boolean(0));
        console.log(Boolean(3));
        console.log(Boolean(-4));

  (2)字符串类型转换Boolean

        只有空字符串会被转换为false,其他所有非空都会被转换为true

console.log(Boolean("小汽车")); //true
        console.log(Boolean("滴滴滴")); //true
        console.log(Boolean("马路开花二十一")); //true
        console.log(Boolean("今天下雨了23344!@#$%^&*()_+")); //true
        console.log(Boolean("")); //false

(3)undefined转Boolean     

        undefined表示未定义  空  所以会被转换为false

console.log(Boolean(undefined)); //false

(4)null转Boolean

        null表示空  所以会被转换为false

console.log(Boolean(null)); //false  

总结:

        数据类型转换首字母要大写,方法名就是数据类型名

        非字符串、非零数字、对象   都为true

        空字符串、0、null、Undefined  都为false

2.其他类型转数字Number

(1)字符串转number

        字符串通过number转换后,如果字符串中包含非数字字符,那么结果为NaN

console.log(Number(true)); //1
        console.log(Number(false)); //1
        console.log(Number("溜溜球")); // NaN  Not a Number
        console.log(Number("3溜溜球")); // NaN  Not a Number
        console.log(Number("3")); // 3
        console.log(Number("-3e2")); // 3

(2)undefined转boolean 

console.log(Number(undefined)); //NaN  Not a Number

(3)null转boolean

console.log(Number(null)); //null  空  0

3.其他类型转为整数  parseInt

console.log(parseInt("3溜溜球")); //3
        console.log(parseInt("溜3溜球")); //NaN
        console.log(parseInt(true)); //NaN
        console.log(parseInt(null)); //
        console.log(parseInt("3.555555555555")); //3
        console.log(parseInt("3e2")); //3

注:只要碰到第一个不是数字的字符,后边的内容就全部不要

4.其他类型转为浮点型  parseFloat(同parseInt)

console.log(parseFloat("3.强强强强555555555555")); //3
console.log(parseFloat("3.55强555555555555"));//3.55

5.其他类型转字符串  String

console.log(String(true)); //true
        console.log(String(123)); //123
        console.log(String(undefined)); //undefined

6.其他类型转字符串  toString

   针对数字可进制转换

var num = 1.1;
        console.log(num.toString(2)); //1.00011001100110011001100110011001100110011001100110

三、隐式转换(浏览器自给)

  字符串类型的值必须加  " "

  isNaN   is not a number 是不是数字

  true  不是数字      false  是数字  

var str1 = '123';
        var str2 = '456';

        console.log(str1 - str2); //-333

        // isNaN  小括号里面的内容是不是NaN
        console.log(isNaN(123)); //false
        console.log(isNaN('aa123')); //true

四、算术运算符

+  加法运算  拼接  因为+号两边有字符串,所以会出现拼接

-   减法运算      *  乘法运算      /  除法运算        均有隐式转换

%  取余  如果余数为0 表示可以被整除

1.数字数据类型运算

var num1 = 10;
        var num2 = 15;
        console.log(num1 + num2); //25
        console.log(num1 - num2); //-5
        console.log(num1 * num2); //150
        console.log(num1 / num2); //0.6666666666

2.字符串类型运算

+  加法运算  拼接  因为+号两边有字符串,所以会出现拼接

var str1 = "15";
        var str2 = "20";
        console.log(str1 + str2); // 1520
        console.log(str1 - str2); // -5
        console.log(str1 * str2); //300
        console.log(str1 / str2); //0.75

        console.log(str1 + num2); // 1515
        console.log(num2 + str1); // 1515

3.%  取余  如果余数为0 表示可以被整除

console.log(15 % 6);

4. ()  提高优先级

 (1).先算括号里面的

 (2).再算乘除

 (3).最后算加减

console.log((1 + 2 + 3) * 5 / (1 + 6) - 8); //-3.7142857142857144

注:0.1+0.2  在计算机中,不能准确的计算出来

0.1+0.3的答案为0.30000 0000 0000 0000 0004

十进制小数转换为二进制小数会损失精度

console.log(0.5 + 0.5); //1
        console.log(0.1 + 0.2); //0.30000000000000004

五、赋值运算符

  赋值运算符  =

  将等号右边的值赋予给等号左边的变量

var num = 10;
        var num1 = num;

  等号右边的num表示的是num的值,等号左边的num表示的是num的变量

num = num + 5;
        num = num - 5;
        num = num * 5;
        num = num / 5;

简写

num += 5;
        num -= 5;
        num *= 5;
        num /= 5;

六、自增自减运算符

num++  与  ++num  均表示自我增加1

        num++;
        ++num;

num--  与  --num  均表示自我减少1

        num--;
        --num;

符号 在前 和 在后 效果是不一样的

  • 符号如果在变量的后面表示 先将变量拿来使用 之后在自增
var num = 99;
        console.log(num++ + 1); // 100
  • 符号如果在变量的前面表示 先将变量自增 然后在拿去使用
var num = 99;
        console.log(++num + 1); // 101

七、逻辑运算符

1.与 、和、且 :  &&

  • 两个条件只要有一个不满足 最终的结果就是不成立  只有所有都成立 最终的结果才是成立
  • 如果第一个条件 成立 那么会直接输出第二个条件  
  • 如果第一个条件不成立 那么就会直接输出第一个条件
 console.log(true && false); // false
        console.log(true && true); // true
        console.log(false && false); // false

console.log(1 && 0); //0
        console.log(0 && ''); //0

2.或 、或者 : ||

  • 两个条件只要有一个成立 最终的结果就是成立 如果都不成立 结果不成立
  • 如果第一个条件成立 就会直接输出第一个条件
  • 如果第一个条件不成立 就会直接输出第二个条件
console.log(true || false); // true
        console.log(false || false); // false
        console.log(true || true); // true

        console.log(1 || 0); //1
        console.log(0 || ''); //0

3.非、不是、 取反 : !

  • 非只会对布尔值生效  非布尔值会先转换为布尔值再取反
  • 最终的结果一定是一个布尔值
console.log(!3); //false

八、关系运算符

1.大于  >

var num1 = 15;
        var num2 = 9;
console.log(num1 > num2);//true

2.小于  <

console.log(num1 < num2);//false

3.等于  ==

  • 一个 = 表示 赋值             ==  表示等于
console.log(num1 == num2);//false
  • 等于  ==   会将等号两边的内容 隐式转换成相同的数据类型
console.log(1 == "1");//true
  • 全等于 ===  两边的内容必须完全相同  类型也必须相同
 console.log(1 === "1");//false
  • 不全等于 !==
console.log(1 !== "1");//true

4.大于等于

console.log(num1 >= num2);//true

5.小于等于

 console.log(num1 <= num2);//false

6.不等于

console.log(num1 != num2);//true

结论:关系运算符 最终输出的结果一定是一个布尔值  更像是一个判断条件

九、运算符优先级

  1. ( )优先级最高
  2. 一元运算符  ++   --   !
  3. 算数运算符  先*  /  %   后 +   -
  4.  关系运算符  >   >=   <   <=
  5. 相等运算符   ==   !=    ===    !==
  6. 逻辑运算符 先&&   后||
  7. 赋值运算符

十、if判断语句

if(条件表达式) {
            代码块1
        }
  • 如果 条件表达式的结果是true  那么就会执行代码块1
  • 如果条件表达式的结果是false  那么就不会执行代码块1 然后 直接结束if
if(条件表达式) {
            代码块1
        }else{
            代码块2
        }
  • 如果条件表达式的结果是true  那么就会执行代码块1
  • 如果条件表达式的结果是false  那么就会执行代码块2

十一、for循环语句

1.for循环语句

可以重复执行代码

for(1.循环从几开始;2.循环到几结束;3.循环是怎么执行的) {
            4.代码块1
        }

只要2 条件成立 for循环就会执行代码块

2.累加器

var sun = 0;
        for (var i = 1; i <= 10; i++) {
            // console.log(i);
            sun = sun + i;
            // sun += i;
        }

        console.log(sun);
  • 18
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值