1、都是循环遍历数组中的每一项
2、forEach 和 map 方法里每次执行匿名函数都支持 3 个参数,参数分别是 item(当前每一 项), index(索引值),arr(原数组)匿名函数中的 this 都是指向 window 只能遍历数组 都不会改变原数组
不同点map方法
map 方法返回一个新的数组,数组中的元素为原始数组调用函数处理后的值
map 方法不会对空数组进行检测,map 方法不会改变原始数组
浏览器支持:chrome、Safari1.5+、opera 都支持,IE9+, 若 arr 为空数组,则 map 方法返 回的也是一个空数组
forEach方法
forEach 方法用来调用数组的每个元素,将元素传给回调函数
forEach 对于空数组是不会调用回调函数的。无论 arr 是不是空数组,forEach 返回的都是 undefined。这个方法只是将数组中的每一项作为 callback 的参数执行一次
2 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/超文本引用)指向网络资源所在位置,建立和当前元素(锚点) 或当前文档(链接)之间的链接,如果我们在文档中添加那么浏览器会识别该文档为 CSS 文件,就会并行下载资源并且不会停止对当前文档的处理
以上就是前端JS部分重要的面试题,希望可以帮助大家。如果对大家有用,欢迎关注公众号前端资料号
前端资料号主要包含web前端面试题、学习资料等...
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)