文章目录
0.通用问题
1.自我介绍
2.项目经历、负责模块
1.web语义化
2.内联元素和块级元素的区别
3.css3新特性
- 选择器
- 盒模型
- 背景和边框
- 文字特效
- 2D/3D转换
- 动画
- 多列布局
- 用户界面
伪类元素 https://www.w3school.com.cn/css/css_pseudo_classes.asp
4.布局方式
5.flex的属性
https://www.nowcoder.com/tutorial/10008/d4196cde6d344488963dc45a3ff5966d
6.css3的优先级
7.js数据类型、区别
8.闭包、优缺点
9.this的指向
10.深拷贝、浅拷贝
11.原型链
https://developer.mozilla.org/zh-CN/docs/Learn/JavaScript/Objects/Object_prototypes
JavaScript 常被描述为一种基于原型的语言 (prototype-based language)——每个对象拥有一个原型对象,对象以其原型为模板、从原型继承方法和属性。原型对象也可能拥有原型,并从中继承方法和属性,一层一层、以此类推。这种关系常被称为原型链 (prototype chain),它解释了为何一个对象会拥有定义在其他对象中的属性和方法。
准确地说,这些属性和方法定义在 Object 的构造器函数 (constructor functions) 之上的prototype
属性上,而非对象实例本身。
在传统的 OOP 中,首先定义“类”,此后创建对象实例时,类中定义的所有属性和方法都被复制到实例中。在 JavaScript 中并不如此复制——而是在对象实例和它的构造器之间建立一个链接(它是__proto__属性,是从构造函数的prototype
属性派生的),之后通过上溯原型链,在构造器中找到这些属性和方法。
12.函数的柯里化Curry
把一个多参数的函数,转化为单参数函数。
作用:
参数复用: 本质上来说就是降低通用性, 提高适用性
提前返回: eg:元素绑定事件监听器, 区分 IE 浏览器的 attachEvent 方法
延迟计算: 柯里化函数不会立即执行计算,第一次只是返回一个函数,后面的调用才会进行计算