admin管理员组文章数量:1577462
JavaScript面试题
001JS 的内置类型有哪些?
基本类型:null、undefined、boolean、number、string、symbol
对象(Object):引用类型(也称为复杂类型)
注意: NaN 也属于 number 类型,并且 NaN 不等于自身。
002NaN是什么?NaN == NaN吗?
NaN(Not a Number,非数字)是计算机科学中数值数据类型的一类值,表示未定义或不可表示的值。
虽然 NaN 是“Not a Number”,但是它的类型还是数值类型
console.log(typeof NaN === "number"); //true
NaN 和任何东西都不相等——甚至是它自己本身!
console.log(NaN === NaN); //false
003js中null与undefined区别?
undefined是undefined类型。表示"缺少值",就是此处应该有一个值,但是还没有定义
(1)作为函数的参数,表示该函数的参数不是对象。
(2)作为对象原型链的终点。
null是object类型,代表“空值”,代表一个空对象指针
(1)变量被声明了,但没有赋值时,就等于undefined。
(2)调用函数时,应该提供的参数没有提供,该参数等于undefined。
(3)对象没有赋值的属性,该属性的值为undefined。
(4)函数没有返回值时或者return后面什么也没有,返回undefined。
004什么是事件冒泡?
在一个对象上触发某类事件(比如单击onclick事件),如果此对象定义了此事件的处理程序,那么此事件就会调用这个处理程序,如果没有定义此事 件处理程序或者事件返回true,那么这个事件会向这个对象的父级对象传播,从里到外,直至它被处理(父级对象所有同类事件都将被激活),或者它到达了对 象层次的最顶层,即document对象(有些浏览器是window)。
打个比方说:你在地方法院要上诉一件案子,如果地方没有处理此类案件的法院,地方相关部门会帮你继续往上级法院上诉,比如从市级到省级,直至到中央法院,最终使你的案件得以处理。
005说一下同步和异步的区别?
同步会阻塞,异步不会阻塞
同步:程序运行从上而下,浏览器必须把这个任务执行完毕,才能继续执行下一个任务
异步:程序运行从上而下,浏览器任务没有执行完,但是可以继续执行下一行代码,当被调用者得到结果之后会通过回调函数主动通知调用者。
006split()和 join() 的区别?
前者是切割成数组的形式,后者是将数组转换成字符串;
007"“和”="的不同?
""会自动转换类型,因此直接判断两边的值
"="先判断左右两边的数据类型,然后再判断两边的值
008Javascript如何实现继承?
原型链继承,借用构造函数继承,组合继承,寄生式继承,寄生组合继承
009把 Script 标签 放在页面的最底部的body封闭之前 和封闭之后有什么区别?浏览器会如何解析它们?
如果说放在body的封闭之前,将会阻塞其他资源的加载;
如果放在body封闭之后,不会影响body内元素的加载;
010documen.write和 innerHTML 的区别?
document.write 只能重绘整个页面;
innerHTML 可以重绘页面的一部分;
011闭包是什么,有什么特性?
闭包就是能够读取其他函数内部变量的函数。
闭包的缺点:滥用闭包函数会造成内存泄露,因为闭包中引用到的包裹函数中定义的变量都永远不会被释放,所以我们应该在必要的时候,及时释放这个闭包函数。
版权声明:本文标题:js面试题:宝哥面试题分享(19) 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dongtai/1727804264a1130892.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论