javascript_basic02

一、数据类型转换

 javascript是弱类型语言,数据类型都是有数据决定的

 javascript中想要查看自己的数据类型是什么:typeof(你想要查看的)

1、隐式转换:(自动转换)


      其实只要是算术运算,默认左右两边都会转成数字,再运算
      特殊:

         1、+运算,只要有一个是字符串那么左右两边都会悄悄转为字符串,再拼接
         2、true->1 false->0 undefined->NaN null->0
         3、-*/%,其实字符串也可以转为数字,只不过必须是纯数字组成的字符串才可以,只要包                   含了非数字字符,则转为NaN

               NaN:是一个数字类型,但是不在三界之中,不认识的数字
               NaN参与任何算术运算结果仍为NaN - 做了跟没做一样
               NaN参与任何比较运算结果都为false - 甚至不认识自己
     我们如何防止用户恶意输入,判断一个x是不是NaN

        解决:var bool=!isNaN(x); x是数字结果为true,x是NaN结果就为false 

 2、显式转换:   (强制转换)


      1、转字符串:
        语法:var str=xx.toString();//xx不能是undefined和null
        此方法不重要:页面上获取来的所有的数据默认都是字符串类型

      2、转数字:
         1、parseInt(str/num);
          原理:从左向右依次读取每个字符,进行转换,碰到非数字字符,就停止,不认识小数点
                  如果一开始就碰到了不认识的字符,则转为NaN
          比如:
            parseInt(35.5) -> 35
            parseInt("35.5") -> 35
            parseInt("35hello5") -> 35
            parseInt("hello35") -> NaN
            parseInt("35px") -> 35  
            parseInt(bool/un/nu) -> NaN

         2、parseFloat(str);
          原理:几乎和上者一致,但是它认识第一个小数点
          比如:
            parseFloat(35.5) -> 35.5
            parseFloat("35.5") -> 35.5
            parseFloat("35.5px") -> 35.5
            parseFloat("35.5.5") -> 35.5
            parseFloat(".555") -> 0.555
            parseFloat("px35.5px") -> NaN
            parseFloat(true) -> NaN

        强调:以上两个方法,只支持str和num使用,其余的使用则为NaN 
        3、Number(x);//万能的,任何数据都可以转为数字
                 //完全等效于隐式转换,还不如 x*1 x/1 x-0


二、函数:也称之为方法,创建--->调用(创建好可以反复使用)

   【预定义】(创建)后,再【反复使用】(调用)的【代码段】
     js里面的函数:完成了一个...........的功能

 1、使用函数:2步:关键字 function 


      1、创建函数
          第一种            function 函数名(){                            
                                      若干函数体;
                                 }     

          第二种              function 函数名(形参1,形参2,.....){                            
                                         若干函数体;
                                    }     

         注意:

                  1.形参:定义函数功能时在小括号中放入参数,其实就是一个变量

                   2.实参:传入实参的顺序和个数要和形参一一对应

                                函数名(实参1,实参2,...)

                      比如:
                                        function zzj(fruit){
                           //                console.log("正在榨"+fruit+"汁")
                          //            }
                         //            zzj("苹果");
                        //            zzj("香蕉");

      2、调用函数
          1、直接在js里面写上:
           第一种:    函数名();//写几次就调用了几次
           第二种:   函数名(实参1,实参2,...)
           2、绑定在某个页面元素上: 让用户进行交互
             <elem οnclick="函数名()"></elem>

 2、以后何时要使用函数呢?


    1、有可能会反复使用的代码
    2、不希望打开页面立刻执行
    3、希望绑定在元素的事件之上,用户触发 - 暂时只会一个onclick的点击事件
    4、本身就是一段独立的功能体
     5、以后要尽量的将每一个功能都要封装成为一个函数,函数是第一等公民

    总结一下:1、如果你的函数体是固定的不变的,则不需要使用带参数的函数
                      2、如果你的函数希望根据传入的实参做的事儿略微不同,则需要带参数的函数来完                              成

三、分支结构:


 1、流程控制语句:3种


    1、顺序结构:
       默认的,代码从上向下一步一步的执行
    2、分支/选择 结构
       根据条件,选择一部分代码去执行
    3、循环 结构 
       根据条件,判断你是否需要重复的执行某一部分代码

 2、比较运算符:> < >= <= == !=


    作用:判断/条件
    结果:一定是一个bool,只有可能会是true 或 false
    也有默认的隐式转换,悄悄的转为数字再比较

 3、if结构:当条件满足时,执行某些语句,条件不满足时,则不会执行这些语句

     1、一个条件,一件事,满足就做不满足就不做
        if(条件){
            操作
        }

      2、一个条件,两件事,满足就做第一件,不满足就做第二件
        if(条件){
            操作
        }else{
            默认操作
        }

      3、多个条件多件事,满足谁就做谁,
        if(条件1){
            操作1
        }else if(条件2){
            操作2
        }else if(条件3){
            操作3
        }else{
            默认操作;
        }

    注意:

          1、else if写几个全看你自己
          2、最后的else可以省略,但是省略后,如果条件都不满足则什么都不做
 


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值