JS部分知识点(1)

6种基本数据类型:
1.string 字符串类型
2.number 数字类型
3.null 空值
4.undefined 未定义类型
5.boolean 布尔类型
6.object 类型(特殊类型)

数据类型转换
一、自动转换:
    1.字符串与任何类型相加都是字符串
    2.布尔值与数值相加,true转化为1,false转化为0
    3.数字与undefined相加,得到NaN
    4.数字与null相加,null被转换成0
    5.布尔值与undefined相加得到NaN
    6.布尔值与null相加,都被转化为数字,true转化为1,false转化为0,null被转化0
    7.undefined与null相加,得到的是NaN
二、强制转换
1.string()类型
2. Number()函数:
-字符串转数字
1.如果是纯数字的字符串,则直接转换为数字
2.如果字符串中有非数字的内容,则转化为NaN
3.如果字符串是空串或者是空格,则转换为0
-布尔转数字
          1.true转换为1
          2.false转换为0
-NULL值转数字  1.结果为0
-undefined转数字  1.数值转换为NaN

任何值和NaN做运算都得NaN

转换为字符串只需要为任意类型加一个(“空串”)即可转化为string

任何值做- * /运算时都会自动转换为number 可以通过-0 *1 /1 来将其转换为numbe

对于非number类型的值:它会先将其转化为number,然后再运算,可以对一个其他的数据类型使用+,来将其转化为number,它的原理和number()函数一样


自增自减

自增:后++和前++(a++ 、++a)
无论是a++还是++a都会立即使原变量自增1
a++的值等于原变量的值(自增前的值)
++a的值等于原变量自增后的值


自减:后--和前--(a-- 、--a)
无论是a--还是--a都会立即使原变量自减1
a--的值等于原变量的值(自减前的值)
--a的值等于原变量自减后的值


逻辑运算:
与:1.&&两个值中只要有一个值为false 那么就返回false
    2.只有两个值都为true才会返回true 
    3.如果两个值都为true,则返回后边的true
    4.如果两个值中有false,则返回靠前的false
或:|| 1.只要有一个值为true 那么就会返回true 如果两个都为false 那么就会返回false
       2.如果第一个值为true,则直接返回第一个值
       3.如果第一个值为false,则返回第二个值。
非:!就是对布尔值取反 真变假,假变真。两次取反不会变化
如果对非布尔值进行运算,则会将其先转换为布尔值,然后再取反

运算符:
1==1 true、“1”==1 true、true == “1”true、null==0 false
undefined 衍生自null 所以这两个值做相等判断时,会返回true
NaN不和任何值相等,包括他本身
可以通过isNaN()函数来判断一个值是否为NaN

条件运算符:
运算符的优先级:
非>与>或
 
 流程控制:
1.条件判断语句
2.条件分支语句
3.循环语句
 

if语句
语法一:
    if(条件表达式 )
        语句 
if语句在运算时,会先对条件表达式进行求值判断
如果条件表达式的值为true,则执行if后的语句
如果条件表达式的值为false,则不会执行if后的语句
if语句只能控制紧随其后的那个语句,如果可以控制多条语句,可以将这些语句统一放到代码中
语法二:

if...else...:
当该语句执行时,会对if后的条件表达式进行求值判断。如果该值为true,则执行if后的语句
如果该值为false,则执行else后的语句
语法三:

if...else if...else:
执行该语句时,会从上到下依次对条件表达式进行求值判断,如果值为true,则执行当前语句,
如果值为false,则继续向下判断。 如果条件都不满足则执行else后的语句 该语句中只会有一个代码块被执行
一旦代码块执行了,则直接结束语句


switch分支
    switch(变量){
        case 值:
             执行匹配成功的代码
             break;
        case 值:
             执行匹配成功的代码
             break; 
        default;
            以上的值都不匹配,可以执行默认的代码

    在执行时,会依次将case后的表达式的值和switch后的条件表达式的值进行全等比较

    如果比较为true,则从当前case处开始执行代码

    如果为false,则继续向下比较

    所以我们可以在每个case后面跟着一个break,确保只会执行case后的当前的语句,不会执行
        其他的case

    如果所有的比较结果都为false,则只执行default后的语句

注意:如果不break 那么从匹配开始,后面内容全部输出

Boolean()函数

1.非空字符串都转为true 、空字符为false。

2.非0和NaN的数字都转为true、0和NaN的都转为false

3.null和undefined都转为false

空格属于不可见字符 为true 、空字符代表什么都没有 为false
数字不管正负都是true(0为false、null为false、undefined为false)

for循环:
    for(起始变量;循环变量;破坏条件){
        重复执行的代码
    }
    
判断奇偶数:求余(%2=0偶数、=1奇数)

双重循环的运行规则:先走外面的第一次循环、再走里面的所有循环


while循环:
    while(条件){
        循环执行的代码
        破坏循环条件
        }
do{}while()
    while和do{}while()跟for循环一样,但格式不同
    while在条件不成立时,一次也不执行,dowhile会执行一次

break:终止  continue 跳出

字符串拼接:

1.
三目运算:
    与if特别像,不过写法更简单
    格式:条件?条件为真时取得值:条件为假时取得值


函数:
    可以简化代码,便于维护:
    格式:
        function 名称(形参,形参,。。。){

            函数代码;
            return:返回值            

        }
        函数声明后,需要调用一下函数才能执行内部代码!!!
        调用:
            名称(实参,实参,...);

        函数的名称命名规则跟变量一样,不能用中文,不能以数字开头,不能用
        除了$和_以外的特殊字符,不能用关键字和保留字,在声明变量的时候尽
        量使用有意义的名称,且用驼峰式命名;myName等

    形参与实参的概念:
            形参:形式的上的参数,没有具体的意义,只是占位置
            实参;实际的值,与形参是一一对应的关系             

            当参数比实参多时,多余的形参,默认值为undefined
            当参数比实参少时,多余的实参,自动忽略。
    return的作用:
            函数运行过的结果就是return的结果
            不添加return,默认返回值为undefined
            将一个结果返还给函数
            终止return后面的代码


    函数的作用域:
            函数内部的变量或函数只能作用到函数内部范围,外部是无法访问的
            
        作用域链:
            
        内部函数:
            函数的嵌套就是内部函数
        

    arguements对象:
            在函数中默认存在一个对象,这个对象就是arguements
            arguements.length得到实参的数量长度
            arguements.callee得到本身函数,即函数体    


    回调函数:
        将函数当做实参传到另一个函数中,在另一个函数内部调用,成为回调函数

    
    递归函数:
        函数内部不断的调用本身,以达到循环效果
    
    闭包函数:
        可以将函数内部的变量返回到外部,在外部访问

    匿名函数:
        特点:只能调用一次
        注意点:需要有分号。一般会在匿名函数自调用的前面加分号,
            防止漏加分号


 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值