JS:基础 知识 (常见面试题)(攻略大全20000字)

目录

        1   js的数据类型有两种:基本数据类型和引用数据类型(重点)

        2   如何判断数据类型:

        3   类型的转换

        4   算数运算符(能参与运算的一些特殊符号)

        5   赋值运算符

        7   逻辑运算符(重点)

        8   三种系统弹窗

        9   条件判断语句

            10  for 循环               

            11  跳转语句

            12  全局作用域和函数作用域

            14  数组

            15  字符串

                                    window对象 本身的方法:                   

            18  定时器分为两种:setTimeout和setInterval

            19  DOM

            20  操作dom标签               

            21  dom常见属性               

            22  本地存储                本地存储:localStorage 和 sessionStorage


        1   js的数据类型有两种:基本数据类型和引用数据类型(重点)


           

基础数据类型:String(字符串)、Number(数字)、boolean(布尔值)、null(空)、undefined(未定义)
            引用/复杂数据类型:Object(对象)、function(函数)、Array(数组)
            五种基本数据类型 和  一种引用/复杂数据类型
                a> Number 数值   
                    - 正数 负数 
                    浮点数 整数
                b> String 字符串   
                    - 当一个数据是被 单引号 或者 双引号 或者 反引号 包裹起来的  那么这个数据就是字符串
                c> Boolean 布尔  
                    - 表示真与假  true 真  false 假 
                d> null   空
                    - 表示空指针 位置存在但没有内容     
                        - 使用typeof 无法检测 得到的结果是 object
                e> undefined 未定义 
                    - 创建变量但没有赋值
                        - 创建变量赋值为undefined
                f> Object 对象
                    - 使用 {} 创建对象

        2   如何判断数据类型:


         

  a>    typeof操作符(重点)
                - 检测的结果 没有null  但是可以检测function函数
                - 优点:优点:能快速检查undefined,string,number,boolean类型
                - 缺点:当类型为object,null,array时都会返回object,所以不能区分这三类
            b>    instanceof操作符
                - 优点:能检测array,function,object类型
                - 缺点:检测不了number,boolean,string
            c>    对象的constructor属性
                - 缺点:undefined和null是不能够判断出类型的,并且会报错。因为null和undefined是无效的对象,因此是不会有constructor存在的
            d>    Object.protoType.toString.call()

        3   类型的转换


            a>    其他类型转换为string类型
               

变量名.toString()、String(变量名)、'' + 变量名
                    支持转换的类型:String、Number、Boolean、Object
                    不支持转换的类型:null、undefined


            b>     其他类型转换为number类型


         

       - Number()方法 任何类型值都可以转换成number类型,但是需要整体进行转换,如果无法转换成正常数值。则变成NaN
                - number 类型下有一个特殊的值 叫 NaN  表示非数值
                    - 任何有NaN参与的运算,得到的结果都是NaN
                    - NaN与任何值都不相等,包括它本身  
                    - 任何有NaN参与的比较,得到的都是false
                    - 可以使用isNaN()进行判断
                - 专门针对于字符串转数值类型
                    - parseInt() 转化成整数
                    - parseFloat() 转换成小数 


                - 需要记住的转换成number类型的特殊值:
                    -

 true ====>  1
                    - false ====> 0
                    - null ====> 0
                    - undefined ====> NaN
                    - "" ====>  0
                    - "     " ====>  0
                    - [] ====>   0


            c>     其他类型转换成boolean类型 (重点)
                其他类型转换成布尔类型值为false的有哪些
               

    - undefined
                    - null
                    - 0
                    - NaN
                    - ""
                    - false

        4   算数运算符(能参与运算的一些特殊符号)


            +、-、*、/、%、++、--
            * ++i  前置++ 表示先自增+1 然后再赋值运算
            * i++  后置++ 表示先赋值运算 然后自增+1

        5   赋值运算符


            =、+=、-=、*=、/=、%=

        6   比较/关系运算符(只要比较的两个值中有一个不是字符串,则都会转换为数值进行比较)
            ==、===、!=、!==、>、<、<=、>=、?
            * ==  相等    不考虑数据类型,转换的值结果相同则相等  null 与 undefined 不会类型转换  它们两者之间相等比较是true 与其它任何值相等比较都是false
            * !=  不相等
            * ===  全等   优先考虑数据类型 类型不一致则不全等,类型一致再考虑值是否相同
            * !==  不全等

        7   逻辑运算符(重点)


            &&、||、!

        8   三种系统弹窗


            * 弹出提示框  alert()
            * 输入弹出框  prompt()
                * 可以给两个值,中间用逗号隔开 ,第一个值表示给用户的提示内容,第二个值表示输入框中的默认值
                * 可以使用一个变量来接收弹出框,点击取消得到的结果是 null  点击确定得到输入的内容
            * 确认弹出框  confirm()
                * 可以输入一个值,用于给用户的提示
                * 点击确定 得到 true  点击取消 得到 false

        9   条件判断语句


            a>  js 在判断一个表达式的布尔值,然后根据布尔值的真伪,执行不同的语句,
                布尔值  
                    true   真
                    false  伪
                        这里的布尔值,并不是寻常意义的布尔值,这里的布尔值往往由一个条件表达式产生,必须放在圆括号内,表示对表达式求值
                 

  if(布尔值){
                        执行语句
                    }


        
                双分支(既然有成功判断,就有失败)
             

      if(布尔值){
                        console.log("满足条件")
                    }else{
                        console.log("不满足条件")
                    }
                多条件判断(如果说,有多个条件进行判断)
                    else if(){
        
                    }


            b>  复合条件表达式判断
                || 或   两者其中一项满足
                && 与   两者都满足
        
               

 if( 条件一 || 条件二){
                    
                }
                
                if(条件1 && 条件2){
        
                }


            
            c>  嵌套条件判断
             

  if(条件1){
                    if(条件2){
                        条件1与条件2都成立时,执行操作
                    }else{
                        条件1成立但是条件2不成立时执行操作
                    }
                }else{
                    条件1不成立时执行操作
                }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值