前端常见问题
作者:edwin
日期:2018-04-17 15:01:09
所属分类:前端 - javascript


1. null,undefind的简介和区别分绍

    1. null 表示一个值被定义了,定义为“空值”

       undefined 表示根本不存在赋值


    2. 相同点

        . undefined == null  //true

        . if条件中都被转为false

            if (!undefined)

                console.log('undefined is false');// undefined is false

            if (!null)

                console.log('null is false');// null is false


    3. 不同点

        . 运算符===中是不相等的

            undefined === null //false


        . typeof运算符结果不同

            typeof(undefined) //undefined

            typeof(null) //object


        . 自动转为数值时不同

            Number(null)  //0

            Number(undefined)  //NaN


    4. NULL奇怪的地方

        . null本身不是对象,但typeof(null)却返回object

        . parseInt(null),竟然返回NaN




2. 简述下javascript中的this

    1. 调用函数时使用new关键字,函数内的this是一个全新的对象


    2. 如果apply, call 或bind方法用于调用时,this就是作为参数传入这些方法的对象


    3. 函数作为对象方法被调用时, 函数内的this时调用该函数的对象


    4. 如果调用函数不符合上述规则, this指向window对象, 但在严格模式下this值为undefined


    5. 箭头函数里的this值被创建时的上下文



3. 使用ajax的优缺点

    1. 优点

        . 来自服务器的新内容可以动态更改,无需重新加载整个页面


    2. 缺点

        . javascript被浏览器禁用,则不起作用

        . 动态网页很难收藏

        . 很多网络爬虫不执行javascript


4. 描述下事件冒泡



5. spa是什么? 如何使其对seo友好?



6. var, let, const 创建变量有什么区别?


    1 var生命的变量在函数内都有效, 甚至在其声明前

      let, const 是块级作用域


    2 var 重复声明不会报错, let和const会


    3 let和const区别在于, let允许多次赋值, 而const只允许一次。



7. vue相关问题

    1. v-show和v-if的区别

        . v-if 是惰性的, 当条件满足时才会渲染. v-show只是基于css切换


    2. vue声明周期钩子顺序

        beforeCreate/created -> beforeMount/mounted -> beforeUpdate/updated -> activated/deactivated -> beforeDestroy/destroyed


    3. 子组件向父组件传递事件?

        bus.$emit('id-selected', 1)



评论

全部评论 / 0