美文网首页
面试基础类要点总结

面试基础类要点总结

作者: 楠楠_c811 | 来源:发表于2018-08-03 22:01 被阅读3次

    最近在面试,碰了很多壁,踩了很多坑。也发现了自己很多不足之处,过去的时间已经过去,没抓住的机会已经溜走。但是明天依然会到来,依然会有新的机会和生活。做好今天吧,期待明天。

    总结了一些东西,拿给大家看看,也提醒自己,温故而知新。学海,真的是无涯的。

    面试基础类要点(1)


    一. JS变量按照存储方式区分为哪些类型,并描述其特点

    (1)值类型,每个变量都会存储相应的值,不会互相影响,字符串类型和数字类型,布尔类型都是如此。
    引用类型包括:对象,数组和函数。

    var a=100
    var b=a
    a =200
    console.log(b)   //100
    
    var a = { age:20 }
    var b = a
    b.age = 21
    console.log(a.age)   //21
    

    (2)引用类型包括:对象,数组和函数。

    typeof  运算符
    JS中使用typeof 能得到的哪些类型
    
    typeof  undefined  // undefined   
    typeof  'abc'  // string
    typeof  123  // number 
    typeof  true  // boolean
    typeof  [ ]  // object
    typeof  { }  // object
    typeof  null  // objec
    typeof  console.log  // function
    
    前四个为值类型,后四个为引用类型.
    

    二.变量计算 - 强制类型转换

    1.字符串拼接
    2.== 运算符
    3.If 语句
    4.逻辑运算

    (1) 字符串拼接:

    var  a = 100 + 10   // 110
    var  b = 100 + '10' // 10010
    

    (2)何时使用 == 何时使用 ===

    if( obj.a == null ){
    //这里相当于是 obj.a ===  null  || obj.a  ===  undefined , 简写形式
    // 这是jquery 源码中推荐的写法 
    }
    

    == 要慎用,因为会导致强制类型转换,===就不会出现这种情况,是什么就是什么

    何时使用 == 何时使用 ===
    100 == '100'// true
    0 == ''  // true
    null  ==  undefined   // true
    

    (3) if语句会执行强制类型转换

    var  a = true 
    if ( a ) {
    //会执行
    }
    
    var  b =  100
    if ( b ) {
    //将100转换为布尔值 true 程序会执行
    }
    
    var  c  =  ''
    if ( c ) {
    //强制类型转换为false不执行,返回undefined
    }
    if 中会被转换成false的是 0 ,NaN, '' ,null ,false本身
    

    逻辑运算符类型转换

    console.log ( 10 && 0 )   // 0
    console.log (''|| 'abc') // 'abc'
    console.log  ( ! Window.abc )  // true
    
    //判断一个变量会被当做 true 还是 false
    var a = 100
    console.log (!!a)
    

    JS中都有哪些内置函数 -- 数据封装类对象

    Object
    Array
    Boolea
    Number
    String
    Function
    Date
    Regexp
    Error
    

    内置对象:math 和 json

    如何理解JSON?
    json 是一个数据格式,但同时是一个JS 对象,有两个常用的api
    json stringify ({a:10, b:20}) 把对象变成字符串
    json parse( '{ "a":10, "b":20} ') 把字符串变成对象

    构造函数
    如果是构造函数,首字母一定要大写,看到首字母大写,一般都是构造函数。

    构造函数--扩展

    var a = {  }  其实是 var a=new Object( ) 的语法糖
    var a = [  ]  其实是 var a=new Array( ) 的语法糖
    function Foo ( ) { ... } 其实是 var Foo = new function ( ... )
    

    判断一个函数是否是一个变量的构造函数 使用instanceof
    判断一个变量是否为“数组”: 变量 instanceof Array

    今天先写到这里吧,明天继续。共勉之。

    相关文章

      网友评论

          本文标题:面试基础类要点总结

          本文链接:https://www.haomeiwen.com/subject/vxzuvftx.html