在JavaScript中,函数其实就是对象。对象字面量产生的对象连接到Object.prototype。
函数对象连接到Function.prototype(该原型对象本身连接到Object.prototype)。每个函数
对象在创建时也随带着一个prototype属性。它的值是一个拥有constructor属性且值即为该
函数所创建的对象。
因为函数为对象,所以它可以存放在变量中,对象和数组里,也可以被当做参数传递给
其他函数。
注意:函数与众不同的地方在于它们可以被调用。
二.函数字面量
四部分:
1.保留字function
2.函数名(可以忽略)
3.包围在圆括号中的一组参数
4.包围在花括号中的一组语句
三.调用
调用一个函数将暂停当前函数的执行,传递控制权和参数给新函数。除申明时定义的形式参数
,还有两个附加参数:this和arguments。this非常重要,它的值取决于调用的模式。
四种调用模式:
1.方法调用模式
// 创建myobject。它有一个value属性和一个increment方法
// increment方法接受一个可选的参数。如果参数不是数字,那么默认数字1。
var myobject = {
value: 0 ,
increment:function(inc){
this.value += typeof inc === ‘number’?inc:1;
}
};
myobject.increment();
document.writeln(myobject.value); // 1
myobject.increment(2);
document.writeln(myobject.value); // 3
方法可以用this去访问对象,所以它能从对象中取值或修改对象
2.函数调用模式
// 当函数并非一个对象属性时,那它被当做一个函数来调用
var sum = add(3,4); // sum的值为7
// 给myobject增加一个double方法
myobject.double = function(){
var that = this; // 解决方法
var helper = function(){
that.value = add(that.value,that.value);
};
helper(); //以函数的形式调用helper。
};
// 以方法的形式调用double。
myobject.double();
document.writeln(myobject.getValue()); // 6
3.构造器调用模式
// 创建一个名为quo的构造器函数。 它构造一个带有status属性的对象
var quo = function(string){
this.status = string;
};
// 给quo的所有实例提供一个名为get_status的公共方法。
quo.prototype.get_status = function(){
return this.status;
};
// 构造一个quo实例
var myquo = new quo(“confused”);
document.writeln(myquo.get_status()); //令人困惑
目的就是结合new前缀调用的函数称为构造器函数
4.Apply调用模式
// 构造一个包含两个数字的数组,并将他们相加。
var array = [3,4];
var sum = add.apply(null,array); // sum值为7
// 构造一个包含status成员的对象。
var statusObject = {
status:“A-OK”
框架相关
原生JS虽能实现绝大部分功能,但要么就是过于繁琐,要么就是存在缺陷,故绝大多数开发者都会首选框架开发方案。现阶段较热门是React、Vue两大框架,两者工作原理上存在共通点,也存在一些不同点,对于校招来说,不需要两个框架都学得特别熟,一般面试官会针对你简历中写的框架进行提问。
在框架方面,生命周期、钩子函数、虚拟DOM这些基本知识是必须要掌握的,在学习的过程可以结合框架的官方文档
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
Vue框架
知识要点:
1. vue-cli工程
2. vue核心知识点
3. vue-router
4. vuex
5. http请求
6. UI样式
7. 常用功能
8. MVVM设计模式
React框架
知识要点:
1. 基本知识
2. React 组件
3. React Redux
4. React 路由
UI样式**
7. 常用功能
8. MVVM设计模式
[外链图片转存中…(img-8FgBXbiY-1714299075542)]
React框架
知识要点:
1. 基本知识
2. React 组件
3. React Redux
4. React 路由
[外链图片转存中…(img-uHZVme5X-1714299075543)]