美文网首页前端面试
前端常见面试题十六

前端常见面试题十六

作者: jw_fc89 | 来源:发表于2019-07-19 08:14 被阅读41次

    目录:
    1、列举三种强制类型转换和两种隐式类型转换
    2、JavaScript typeof返回哪些数据类型
    3、window.onload 和document.ready的区别
    4、== 和 ===的区别
    5、style标签写在body前和body后有什么区别


    1、列举三种强制类型转换和两种隐式类型转换

    强制

    1、Number(参数)把任何类型转换成数值类型

    2、parseInt(参数1,参数2)将字符串转换成整数

    3、parseFloat()将字符串转换成浮点数字

    4、string(参数):可以将任何类型转换成字符串

    5、Boolean()可以将任何类型的值转换成布尔值


    隐式类型转换

    (1)、四则运算
    加法运算符+是双目运算符,只要其中一个是string类型,表达式的值便是一个String。对于其他的四则运算,只有其中一个是Number类型,表达式的便是一个Number。对于非法字符的情况通常会返回NaN:'1''a' // => NaN,这是因为parseInt(a)值为NaN,1NaN还是NaN

    (2)、判断语句

    判断语句中的判断条件需要是 Boolean类型,所以条件表达式会被隐式转换为Boolean。其转换规则则同Boolean的构造函数。比如:

    var obj = {};if(obj){
           while(obj);
    }
    

    (3).Native代码调用
        JavaScript宿主环境都会提供大量的对象,它们往往不少通过JavaScript来实现的。JavaScript给这些函数传入的参数也会进行隐式转换。例如BOM提供的alert方法接受String类型的参数:alert({a:1}); //=>[object Object]


    2、JavaScript typeof返回哪些数据类型

    undefined string boolean number symbol(ES6) Object Function

    3、window.onload 和document.ready的区别

    $(document).ready和window.onload都是在都是在页面加载完执行的函数,大多数情况下差别不大,但也是有区别的。

    $(document).ready:是DOM结构绘制完毕后就执行,不必等到加载完毕。 意思就是DOM树加载完毕,就执行,不必等到页面中图片或其他外部文件都加载完毕。并且可以写多个.ready。

    window.onload:是页面所有元素都加载完毕,包括图片等所有元素。只能执行一次。

    所以,$(document).ready的执行时间要早于window.onload。并且可以写多个

    //以下代码无法正确执行: 
    window.onload = function()
    { 
    alert(“text1”); 
    }; 
    window.onload = function()
    { 
    alert(“text2”); 
    }; 
    //结果只输出第二个 能同时编写多个 
    //以下代码正确执行: 
    $(document).ready(function()
    { 
    alert(“Hello World”); 
    }); 
    $(document).ready(function()
    { 
    alert(“Hello again”); 
    }); 
    //结果两次都输出
    

    4、== 和 ===的区别

    == 代表是equality 等同,=== 代表是identity 恒等
    ==, 两边值类型不同的时候,要先进行类型转换,再比较。
    ===,不做类型转换,类型不同的一定不等。
    最后 :==先转换类型再比较,===先判断类型,如果不是同一类型直接为false。


    5、style标签写在body前和body后有什么区别

    写在body前

    写在head标签中利于浏览器逐步渲染

    写在body后

    写在body标签后由于浏览器以逐行方式对html文档进行解析,当解析到写在尾部的样式表(外联或写在style标签)会导致浏览器停止之前的渲染,等待加载且解析样式表完成之后重新渲染,在windows的IE下可能会出现FOUC现象(即样式失效导致的页面闪烁问题)

    相关文章

      网友评论

        本文标题:前端常见面试题十六

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