前端问题

1. js的typeof返回哪些数据类型?

object number function boolean undefined string
其中typeof isNaN //Function

2. 面向对象编程与面向过程编程的区别

思维方式的区别
面向过程:按步骤(顺序)来编程。如:C语言
面向对象:找到角色,确定职责,以功能驱动

3. this的指向问题

ele.onclick = function(){
    console.log(this);//指代ele元素
}
function Person(name){
    this.name = name;
}
let per = new Person();//此时this指向per
let obj = {
    print : Person
}
obj.print == Person;//true
window.Person();//此时调用Person函数的是window,this指向window
obj.print();//调用Person函数的是obj,this指向obj

setInterval(Person,200);//调用Person函数的是window,this指向window

Person.call(document);//等价于document.Person,this指向document

//手动实现一个bind
Function.prototype.bind = function(target){
    var fn = this;//指向调用bind方法的函数,想让它永久指向target
    return function(){
        fn.apply(target, arguments);
    }
}

this指代的是 【当前对象】,即此刻正在执行这个函数的对象,谁调用这个函数,this指向谁

  • 函数.call(指定任何对象);//可以直接执行函数
  • let 新函数 = 函数.bind(obj);//不执行函数,新函数的this,会永久指向obj,this被绑定了

4. 普通函数与箭头函数的区别

let test = () => {

}
let obj = {
    id:99,
    hello : ()=>{
        console.log(this);//window
        console.log(this.id);
    },
    print : function(){
        console.log(this.id);//99
        setTimeout(function(){
            console.log(this.id);
        },300)
    },
    print2 : function(){
        setTimeout(() => {
            console.log(this.id);
        },300)
    }
}
obj.hello();//undefined
obj.print();//undefined,此时调用setTimeout的是window,它没有id属性,所以输出undefined
obj.print2();//99,把setTimeout中的回调函数变成箭头函数,它没有自己的this,指向上一级的this,所以输出99
  • 箭头函数不能当作构造函数,不能new,因为它自身没有this,【如何断定箭头函数this的指向:当箭头函数不存在】

5. eval函数的作用?

eval("var a=100; alert(a);");
//html
<textarea  id='textarea'>

</textarea>
//js
eval(textarea.value);//可以根据用户输入的字符串运行相应程序

将字符串转换为js程序执行
存在安全问题
但是在模块化中常用,动态执行代码

<script src='xx.js' type='text/html' charset='utf-8'>
//type类型不是text/javascript,js文件在加载成功后不会立即被执行,此时得到的是一串字符串
</script>
eval(xx.js)

严格模式和非严格模式 eval区别

6. 函数防抖和节流

//函数防抖

7. 作用域链

8.

9.

1. h5新增的标签有哪些?为什么要加强语义化

2. 为什么要清除浮动?如何清除浮动?

3. 行内元素,块级元素有哪些?它们的区别

4. 有哪几种存储数据的方式,有什么不同

5. 下面程序输出的是什么?如何修改能够输出1-10.

for(var i = 0; i < 10; i++){
    setTimeout(function(){
        console.log(i)
    },10)
}

6. vue实现双向绑定的原理是什么?

7. vue组件之间是怎么传值的?(父子组件,兄弟组件)

8. 让A、B两个按钮实现按点击次序执行请求

9. 怎么实现文本不换行?超出部分显示省略号

white-space:nowrap;/*强制在一行显示*/
overflow:hidden;/*超出部分隐藏*/
text-overflow:ellipsis;/*文本超出部分用省略号代替*/

10. vue的生命周期有哪些?它们有什么不同?

11. 怎么实现跨域?jsonp的原理是什么?

吉利

12. h5的标签有哪些

13. 盒子的定位,让子盒子在父盒子的最右侧应该怎么做?(浮动定位弹性盒子)

14. ES6的新特性有哪些?let/const/var的区别

15. 什么是闭包?

16. vue的生命周期

17. vue中的this在哪个生命周期可以被调用

18. js的基本数据类型(包括es6新增的symbol)

19. 怎么判断数据类型?

20. 怎么给数组去重?

某厂复试

21. 学过哪些基础框架?

22. vue的源码看过吗?怎么实现数据劫持?(vue怎么实现双向数据绑定的原理)

23. vue的生命周期

24. 分别在什么时候用到created,mounted

25. 用过es6,es7吗?列举一些常用的

26. Promise async await用过吗

27. 箭头函数和一般函数的区别

28. 有没有了解过后端语言

29. jQuery中绑定事件用的on和bind有什么区别?

30. 前端常用的性能优化的方法?

31. 打开一个页面,加载较慢,应该怎么做?

32. 闭包是什么?举例说明

33. 问面试官的问题:现在在做的项目是什么,用的是什么框架?

34. vue中组件的data为什么是函数形式

35. vue-cli如何使用json数据模拟

海康

36. 闭包是什么,其优缺点有哪些?

37. 怎么让子盒子上下居中

38. js的本地存储机制

39. cookie中的session?

40. 跨域怎么实现

41. this的指向问题,改变this的指向

42. vue项目中用了什么UI框架

43. npm中的warn了解吗

44. node.js

45. 描述自己的项目

46. 列举自己的优缺点(3个),自己的特色是什么

某厂面试题

47. es6有哪些新特性

48. H5中的canvas绘图了解过吗?

     Nodejs,webpack了解过吗

49. html第一行 !doctype的作用

50. css3的动画特性,可以用js实现,为什么还要用css实现??

51. Ajax请求中数据重新处理和***

52. bootstrap中栏栅一行24个如何做到?

53. js实现轮播图的实现逻辑

54. git的常用代码操作

55. 除了看视频,还能怎么学习前端?

56. 简单说一下get/post的区别

57. 列举h5的新特性,css3的新特性

58. 了解过SEO搜索引擎优化吗?

59. const定义常量不能改变,定义的对象能改变吗?

61. let和var在全局定义的时候有什么区别

62. js的三大事件(捕获、冒泡)如何执行

华为电话面试

63. 原生js中继承怎么实现的

64. es6中新增的类和方法?(class和继承)怎么实现继承的

65. jQuery和vue有什么区别

66. vue中父子、兄弟组件(订阅者模式bus)如何传值

67. 设计模式有了解吗

68. vue中的vuex和Axios的使用

69. es6 const/let/var的区别

70. 闭包是什么?用let怎么实现

71. js的垃圾回收机制

72. 使用js时,如何调bug

网易

73. js中闭包是什么?

74. js的执行机制

75. v-for中 key值的作用?

76. v-if和v-show的区别是什么?分别的使用场景。

77. vue中插槽的作用?

78. vueAPP适配是怎么写的,用的什么单位?(rem)

79. ajax中get和post有什么区别?

80. 计算属性(computed)和***(watch)有什么区别?

81. v-for渲染列表是key是用来做什么的?

82. 数据请求在vue生命周期哪一个阶段?

83. 子盒子水平居中有哪几种方法?(定位方法中,有宽高和没有宽高分开,弹性盒子)

84. flex弹性盒模型?

85. 父盒子中子盒子浮动有什么后果?(父盒子会出现高度塌陷)父盒子中有图片有文字,没有清除浮动,页面会出现什么情况

86. 清除浮动有哪些方法?

87. 定位有哪些属性?相对定位是相对什么定位?

88. 行内元素和行内块元素有什么区别?行内块元素在同一行显示时有默认空隙,如何解决?

89. 给DOM元素绑定事件有哪些方法?(在标签中绑定,在代码中写onclick,绑定事件监听函数addEventListener)

90. 数组里面有哪些遍历方法?es6新增

全部评论

相关推荐

头像
01-12 14:44
已编辑
百度_高级研发工程师
今天看到了某平台攻击牛友的帖子,段段今天打算为牛友们说句话,我们的努力到底有没有意义。&nbsp;(原文复述:感觉牛客就是当年那群做题区毕业了开始找工作还收不住那股味,颇有一种从年级第一掉到年纪第二后抱怨考不上大学的区味)&nbsp;&nbsp;粗鄙,无礼,傲慢,攻击,在这里我没有看到任何有用的分析,我只看到了屁股决定脑袋的攻击,我只看到了嫉妒和眼红。一、去医院不看病你去逛街吗&nbsp;去医院你不去看病你去逛街吗?去加油站不加油你去抽烟吗?去部队你不训练战斗技能你去养老吗?来牛客你不努力求职你来干什么来了。&nbsp;牛客本身就是个求职平台,大家分享有用的知识,分享面经,分享offer,分享求职经验的,来牛客不就干这个来了吗?有什么问题吗?...
给个好点的工作吧啊啊...:不知道我看的是不是和博主同样的帖子,我记得原帖是表达的是有些匿名老是发几十万的offer侮辱价,然后就有牛友觉得凡尔赛了导致后面的评论有些偏激。我觉得这个最近闫学晶那个事情有点类似了,她说他儿子一年只能赚七八十万家庭生活都难以为继,不说普通家庭,多少大厂的程序员都赚不到这个数字,大部分家庭看到这种发言肯定会难受的一p,生活的担子又这么重,人都是需要发泄情绪的,互联网就是个极佳的载体,所以很多人直接就喷她了,人在情绪发泄的时候是不思考的,否则就不叫发泄了。然后还有一个点,段哥假定了这些喷的人全都是“躺平的”,这点可能有失偏颇,很多人一直在努力,但是始终缺乏天时地利人和的某一个条件,这点相信段哥找工作的过程中深有体会。绝大部分人都以结果的失败去否认了努力的全过程,可能只是别人努力的方向错了。就像一次面试,可能你准备了很久,结果面试官就是比较奇葩,一直问没有学习到的领域或知识点,然后有人凭一个挂掉的结果就直接给你扣了一个“躺平”的帽子,觉得挂掉是你不够努力,您心里滋味如何?再说点近点的,我也是od,多少同事深夜无偿加班,涨过一分工资吗?多少外包的技术大牛因为学历被困在外包,连od都进不去,这些人难道不努力吗?只是限制与生活、公司制度等等之类的无奈罢了。说到努力,又想到李家琦79元眉笔事件,这么多年有没有认真工作?有没有涨工资?他嘴里说出来是那么的理所当然,打工牛马都知道“任劳任怨”,“认真工作”真能涨工资?只干活不发声就等着被摘果子吧,企业里永远都是“汇报杰出者”升的最快(当然不是所有企业),这种事情相信段哥包括我甚至大部分od都经历过。最近辞职回老家,和老爸散步每次他都会感慨街上的蔬菜小贩多不容易,他们晚上就窝在那种三轮小货车的驾驶室里,腿都伸不直,我们这里晚上零下了,只盖一条薄毛毯,始终舍不得住我们镇上几十块的酒店,因为一车蔬菜就赚几百块顶多一千而且要卖好久,这样的例子还有太多了。这种芸芸众生可能辛苦了一天之后,打开手机看到网上的凡尔赛发言,跟风喷了几句发泄情绪,我觉得这种人不应该扣上“躺平”的帽子。我觉得大部分正常人都是努力的,或者曾经努力过,但世界上有太多努力解决不了的无奈了,甚至说你都没有那个努力的机会,不过正因如此,才显得坚持不懈的努力奋斗之人的难得可贵,认清生活的真相后仍然热爱生活,敢于直面现实的淋漓。
段段STEADY觉醒与突...
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
3
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务