美文网首页
js面试必见的面试题

js面试必见的面试题

作者: 梦想虽然 | 来源:发表于2018-06-30 00:27 被阅读0次
    1. javascript的typeof返回哪些数据类型?

    undefined string boolean number object function

    undefined:undefined只是一个值。当我们声明一个变量,没有做初化的时候。我们调用这个变量就会返回一个值undefined。如:

    var name; alert(name);如果我们把alert语句写成alert(people);同样是返回undefined。

    这两种情况分别是一、只是定义了变量没有做相应的初始化。二、没有声明相应的变量。

    null:是一个只有一个值的特殊类型。表示一个空对象引用。用typeof检测返回是object。

    undefined是派生自null。undefined==null。

    string:String 类型用于表示由于零或多个 16 位 Unicode 字符组成的字符序列,即字符串。字 符串可以由双引号(")或单引号(')表示。

    boolean:Boolean 类型有两个值(字面量): true 和 false。 而 true 不一定等于 1, false 不一定等于 0。 JavaScript 是区分大小写的,True 和 False 或者其他都不是 Boolean 类型的值。boolean可以与其他类型转化。

    number :任何非零数字值(包括无穷大) 0 和 NaN

    object------对象或者null返回的是object

    function:函数

    1. 例举3种强制类型转换和2种隐式类型转换?

    强制转换:

    转 boolean 规则:

    null, undefined, "", 0, -0, NaN 转换成布尔值是false, 剩下的全转化 true;

    转 number 规则:

    string '2.3.1' => NaN;

    null, '', false, [] ==>> 0;

    undefined => NaN;

    object => x Number(object.toString())

    隐士转换:

    ==匹配两个变量的的值,如果类型不匹配,会强制类型转换,

    ===不但匹配两个变量的值,还会匹配两个变量的数据类型是否相同,如果其中有一项不相同,匹配失败。

    ===不会类型转换,执行效率高。

    1. split() 、join() 的区别

    1.split()

    将一个字符串分割为子字符串,将结果作为字符串数组返回,若字符串中存在多个分割符号,亦可分割。

    形式:

    stringObj.split([separator,[,limit]])

    stringObj 必选项 string对象或者文字 该对象不会被split方法修改

    separator 可选项 字符串或者正则表达式对象

    列子:

    var str ="Hello World!";

    str.split(""); //["H", "e", "l", "l", "o", " ", "W", "o", "r", "l", "d", "!"]

    str.split(" "); //["Hello", "World!"]

    str.split("",3);//["H", "e", "l"]

    join方法

    把数组中的所有元素放入一个字符串中

    形式:

    arrayObj.join(separator);

    separator 可选项 省略该参数,则使用逗号作为分割符

    举例:

    var arr = new Array(3);

    arr[0] = "George";

    arr[1] = "John";

    arr[2] = "Thomas";

    arr.join();//"George,John,Thomas"

    arr.join(".");//"George.John.Thomas"

    limit 可选项 返回数组中的元素个数

    1. 数组方法pop() push() unshift() shift()

    shift()方法:移除数组中的第一项并返回该项

    push()方法:从数组末端添加项

    unshift()方法:在数组的前端添加项

    pop()方法:从数组末端移除项

    1. 事件绑定和普通事件有什么区别

    事件绑定相当于在一个元素上进行监听,监听事件是否触发。

    普通事件就是直接触发事件。

    两者的区别就在于是否可重复使用。

    事件绑定可以在一个元素上监听同一事件多次,而普通事件多次写会被覆盖。如:

    var ys1 = ‘某个元素监听(绑定)’,ys2 = ‘另一个元素(普通事件)’;

    ys1.addEventListener('click',function () {

    alert(1);

    });

    ys1.addEventListener('click',function () {

    alert(2)

    });

    //会弹出1,2;

    ys2.onclick = function(){

    alert(1);

    }

    ys2.onclick = function(){

    alert(2);

    }

    //只会弹出2.

    相关文章

      网友评论

          本文标题:js面试必见的面试题

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