Web前端基础(8):JavaScript(二)

98 阅读3分钟

1.1 将数值类型转换成字符串类型
1.1.1 隐式转换

在js中,当运算符在运算时,如果两边数据不统一,CPU就无法计算,这时我们编译器会自动将运算符两边的数据做一个数据类型转换,转成一样的数据类型再计算。
这种无需程序员手动转换,而由编译器自动转换的方式就称为隐式转换。
例如1 > "0"这行代码在js中并不会报错,编译器在运算符时会先把右边的"0"转成数字0`然后在比较大小。
  • var
    n1
    =
    123
    ;
  • var
    n2
    =
    '123'
    ;
  • var
    n3
    =
    n1
    +
    n2;
  • //
    隐式转换
  • console
    .
    log
    (
    typeof
    n3
    );



1.1.2 强制类型转换

强制类型转换是非常常用的技术,虽然它曾经导致了很多隐蔽的 BUG ,但是我们不应该因噎废食,只有理解它的原理才能享受其带来的便利并减少 BUG 的产生。
  • var
    n1
    =
    123
    ;
  • //
    强制类型转换String(),toString()
  • var
    str1
    =
    String(n1);
  • console.log(
    typeof
    str1);
  • var
    num
    =
    234
    ;
  • console.log(num.toString())



1.2 将字符串类型转换成数值类型

  • var
    stringNum
    =
    '789.123wadjhkd'
    ;
  • var
    num2
    =
    Number(stringNum);
  • console.log(num2)
  • //
    parseInt()可以解析一个字符串 并且返回一个整数
  • console.log(parseInt(stringNum))
  • console.log(parseFloat(stringNum));



1.3 任何数据类型都可以转换成boolean类型

  • var
    b1
    =
    '123'
    ;
  • var
    b2
    =
    0
    ;
  • var
    b3
    =
    -
    123
  • var
    b4
    =
    Infinity;
  • var
    b5
    =
    NaN;
  • var
    b6
    ;
    //
    undefined
  • var
    b7
    =
    null
    ;
  • //
    非0既真
  • console
    .
    log
    (
    Boolean
    (
    b7
    ))



2. 流程控制

JavaScript的流程控制语法和java的很相似,所以大家可以看我的java基础-流程控制流程控制(续) 内容比这个写的详细


2.1 if判断语句
2.1.1 if格式

  • var
    ji
    =
    20
    ;
  • if
    (
    ji
    >=
    20
    ){
  • console.log(
    '恭喜你,吃鸡成功,大吉大利'
    )
  • }
  • alert(
    'alex'
    );
    //
    下面的代码还会执行



2.1.2 if-else格式

  • var
    ji
    =
    20
    ;
  • if
    (
    ji
    >=
    20
    ){
  • console.log(
    '恭喜你,吃鸡成功,大吉大利'
    )
  • }
    else
    {
  • console.log(
    '很遗憾 下次继续努力'
    )
  • }



2.1.3 if-else if-else格式

  • if
    (
    true
    ) {
  • //
    执行操作
  • }
    else
    if
    (
    true
    ){
  • //
    满足条件执行
  • }
    else
    if
    (
    true
    ){
  • //
    满足条件执行
  • }
    else
    {
  • //
    满足条件执行
  • }



2.2 逻辑与&&、逻辑或||

案例1:
  • //
    1.模拟 如果总分 >400 并且数学成绩 >89分 被清华大学录入
  • //
    逻辑与&& 两个条件都成立的时候 才成立
  • if
    (
    sum
    >
    400
    &&
    math
    >
    90
    ){
  • console.log(
    '清华大学录入成功'
    )
  • }
    else
    {
  • alert(
    '高考失利'
    )
  • }


案例2:
  • //
    2.模拟 如果总分>400 或者你英语大于85 被复旦大学录入
  • //
    逻辑或 只有有一个条件成立的时候 才成立
  • if
    (
    sum
    >
    500
    ||
    english
    >
    85
    ){
  • alert(
    '被复旦大学录入'
    )
  • }
    else
    {
  • alert(
    '高考又失利了'
    )
  • }



2.3 switch

  • var
    gameScore
    =
    'better'
    ;
  • switch
    (gameScore){
  • //
    case表示一个条件 满足这个条件就会走进来 遇到break跳出。如果某个条件中不写 break,那么直到该程序遇到下一个break停止
  • case
    'good'
    :
  • console.log(
    '玩的很好'
    )
  • //
    break表示退出
  • break
    ;
  • case
    'better'
    :
  • console.log(
    '玩的老牛逼了'
    )
  • break
    ;
  • case
    'best'
    :
  • console.log(
    '恭喜你 吃鸡成功'
    )
  • break
    ;
  • default
    :
  • console.log(
    '很遗憾'
    )
  • }



2.4 while循环

循环三步走:
1.初始化循环变量
2.判断循环条件
3.更新循环变量
  • var
    i
    =
    1
    ;
    //
    初始化循环变量
  • while
    (
    i
    <=
    9
    ){
    //
    判断循环条件
  • console.log(i);
  • i
    =
    i
    +
    1
    ;
    //
    更新循环条件
  • }



2.5 do_while

  • //
    不管有没有满足while中的条件do里面的代码都会走一次
  • var
    i
    =
    3
    ;
    //
    初始化循环变量
  • do
    {
  • console.log(i)
  • i
    ++;
    //
    更新循环条件
  • }
    while
    (
    i
    <
    10
    )
    //
    判断循环条件



2.6 for循环

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