web前端面试题之JS篇【一】

本文详细对比了JavaScript中forEach和map方法的区别,讲解了null与undefined的区别,以及==和===的用法。此外,还剖析了普通函数与构造函数、箭头函数的特性,并区分了src和href在HTML中的作用。适合前端开发者面试准备。

1  数组中的 forEach 和 map 的区别

        相同点

                1、都是循环遍历数组中的每一项

                2、forEach 和 map 方法里每次执行匿名函数都支持 3 个参数,参数分别是 item(当前每一 项), index(索引值),arr(原数组)匿名函数中的 this 都是指向 window 只能遍历数组 都不会改变原数组

var code = "e4bb8683-0a36-4c2a-9c50-97a43a4b1583"

        不同点

                map方法

                        map 方法返回一个新的数组,数组中的元素为原始数组调用函数处理后的值

                        map 方法不会对空数组进行检测,map 方法不会改变原始数组

                        浏览器支持:chrome、Safari1.5+、opera 都支持,IE9+, 若 arr 为空数组,则 map 方法返 回的也是一个空数组

                forEach方法

                        forEach 方法用来调用数组的每个元素,将元素传给回调函数

                        forEach 对于空数组是不会调用回调函数的。无论 arr 是不是空数组,forEach 返回的都是 undefined。这个方法只是将数组中的每一项作为 callback 的参数执行一次

 Js 中 null 与 undefined 区别

        相同点:

                if 判断语句中,两者都会被转换为 false

        不同点:

                Number转换的值不同,Number(null)输出为 0, Number(undefined) 输出为NaN or null表示一个值被定义了,但是这个值是空值

                undefined 表示缺少值,即此处应该有值,但是还没有定义

3  === 和 ==的区别

        ===:

                三个等号我们称为等同符,当等号两边的值为相同类型的时候,直接比较等号两边 的值,值相同则返回 true,若等号两边的值类型不同时直接返回 false。也就是说三个等号 既要判断值也要判断类型是否相等

        ==:

                两个等号我们称为等值符,当等号两边的值为相同类型时比较值是否相同,类型不同时会发生类型的自动转换,转换为相同的类型后再作比较。也就是说两个等号只要值相等就可以

4  普通函数和构造函数的区别

        返回值类型的区别:

                构造函数是没有返回值类型的

                普通函数是有返回值类型的,即使函数没有返回值,返回值类型也要写上 void。

        函数名的区别:

                构造函数的函数名必须要与类名一致,习惯首字母大写

                普通函数的函数名只要符合标识符的命名规则即可。

        调用方式的区别:

                构造函数是在创建对象的时候由new关键字调用的

                普通函数是由我们使用对象调用的,一个对象可以调用多次普通函数

        作用上的区别:

                构造函数用于初始化一个对象。

                普通函数是用于描述一类事物的公共行为。

5  普通函数和箭头函数的区别

        外形不同:箭头函数使用箭头定义,普通函数中没有。

        箭头函数全都是匿名函数:普通函数可以有匿名函数,也可以有具名函数

        箭头函数不能用于构造函数:普通函数可以用于构造函数,以此创建对象实例。

        箭头函数中 this 的指向不同:在普通函数中,this 总是指向调用它的对象,如 果用作构造函数,它指向创建的对象实例。

        箭头函数不具有 arguments 对象:每一个普通函数调用后都具有一个 arguments 对象,用来存储实际传递的参数。但是箭头函数并没有此对象。

        其他区别:箭头函数不具有 prototype 原型对象。箭头函数不具有 super。箭头函数不具有 new.target。

6  src 和 href 的区别是

        区别:

                src(source)指向外部资源的位置,指向的内容将会嵌入到文档中当前标签所在位置;在请求src资源时会将其指向的资源下载并应用到文档中,如 JavaScript 脚本,img 图片和 iframe 等元素 当浏览器解析到该元素时,会暂停其他资源的下载和处理,直到将该资源加载、编译、执 行完毕,类似于将所指向资源嵌入当前标签内

                href(hypertext reference/超文本引用)指向网络资源所在位置,建立和当前元素(锚点) 或当前文档(链接)之间的链接,如果我们在文档中添加<link href="xx.css" rel="stylesheet"/>那么浏览器会识别该文档为 CSS 文件,就会并行下载资源并且不会停止对当前文档的处理

以上就是前端JS部分重要的面试题,希望可以帮助大家。如果对大家有用,欢迎关注公众号前端资料号

前端资料号主要包含web前端面试题、学习资料等...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值