常用的内置函数

2.4 Math.max() 函数返回一组数中的最大值。如果给定的参数中至少有一个参数无法被转换成数字,则会返回 NaN。如果没有参数,则结果为- Infinity。

示例:

Math.max(10, 20); // 20

Math.max(-10, -20); // -10

Math.max(-10, 20); // 20

2.5 Math.min() 返回零个或更多个数值的最小值。

示例:

Math.min(10, 20); // 10

Math.min(-10, -20); // -20

Math.min(-10, 20); // -10

2.6 Math.pow() 函数返回基数(base)的指数(exponent)次幂,即 baseexponent

示例:

console.log(Math.pow(7, 3));

// expected output: 343

console.log(Math.pow(4, 0.5));

// expected output: 2

console.log(Math.pow(7, -2));

// expected output: 0.02040816326530612

// (1/49)

console.log(Math.pow(-7, 0.5));

// expected output: NaN

2.7 Math.random() 函数返回一个浮点数,  伪随机数在范围从0到小于1,也就是说,从0(包括0)往上,但是不包括1(排除1),然后您可以缩放到所需的范围。实现将初始种子选择到随机数生成算法;它不能被用户选择或重置。Math.random() 不能提供像密码一样安全的随机数字。

示例:

function getRandom() {

return Math.random(); // 0~1 之间随机数

}

2.8 Math.round() 函数返回一个数字四舍五入后最接近的整数。如果参数的小数部分大于0.5,则舍入到相邻的绝对值最大的整数。如果参数的小数部分小于0.5,则舍入到响铃的绝对值更小的整数。如果参数部分恰好等于0.5,则舍入到相邻的正无穷方向上的整数。注意,Math.round()并不总是舍入到远离0的方向(尤其是在负数的小数部分恰好等于0.5的情况下。)

示例:

x = Math.round(20.49) // 20

x = Math.round(20.5) // 21

x = Math.round(-20.5) // -20

x = Math.round(-20.51) // -21

二、Date对象

========

创建一个 JavaScript Date 实例,该实例呈现时间中的某个时刻。Date 对象则基于 Unix Time Stamp,即自1970年1月1日(UTC)起经过的毫秒数。创建一个新Date对象的唯一方法是通过new 操作符,例如:let now = new Date()

year

表示年份的整数值。 0到99会被映射至1900年至1999年,其它值代表实际年份。参见 示例

monthIndex

表示月份的整数值,从 0(1月)到 11(12月)。

date可选

表示一个月中的第几天的整数值,从1开始。默认值为1。

hours 可选

表示一天中的小时数的整数值 (24小时制)。默认值为0(午夜)。

minutes 可选

表示一个完整时间(如 01:10:00)中的分钟部分的整数值。默认值为0。

seconds 可选

表示一个完整时间(如 01:10:00)中的秒部分的整数值。默认值为0。

milliseconds 可选

表示一个完整时间的毫秒部分的整数值。默认值为0。

1.常用方法

1.1Date.prototype.getDate() 根据本地时间,返回一个指定的日期对象为一个月中的哪一日(从1–31)。

示例:

获取指定日期

const birthday = new Date(‘August 19, 1975 23:15:30’);

const date1 = birthday.getDate();

console.log(date1);

// expected output: 19

获取当前日期

let getToday = new Date()

console.log(getToday.getDate()); // 22

1.2 Date.prototype.getDay() 方法根据本地时间,返回一个具体日期中一周的第几天,根据本地时间,返回一个0到6之间的整数值,代表星期几: 0 代表星期日, 1 代表星期一,2 代表星期二, 依次类推。

示例

获取当前星期

let arr = [‘星期日’,‘星期一’,‘星期二’,‘星期三’,‘星期四’,‘星期五’,‘星期六’] // 因为0表示星期日,所以需要放在数组首位

let now = new Date()

let now1 = now.getDay()

console.log(arr[now1]); // ‘星期日’

1.3 Date.prototype.getFullYear() 方法根据本地时间返回指定日期的年份。

示例:

let today = new Date();

console.log(today.getFullYear()); // 2021

1.4 Date.prototype.getHours() 方法根据本地时间,返回一个指定的日期对象的小时。返回值为一个0 到 23之间的整数值。

示例:

let now = new Date();

console.log(now.getHours()); // 14

1.5 Date.prototype.getMonth() 根据本地时间,返回一个指定的日期对象的月份,为基于0的值(0表示一年中的第一月)。因此在获取当前月份结果后应+1

onst now = new Date();

console.log(now.getMonth()+1); // 8

1.6 Date.prototype.getSeconds() 方法根据本地时间,返回一个指定的日期对象的秒数。返回值为一个 0 到 59 的整数值。

const now = new Date();

console.log(now.getSeconds()); // 21

1.7 Date.prototype.getTime() 方法的返回值一个数值,表示从1970年1月1日0时0分0秒(UTC,即协调世界时)距离该日期对象所代表时间的毫秒数。

const now = new Date();

console.log(now.getTime()); // 1629614686166

1.8 Date.now() 方法返回自 1970 年 1 月 1 日 00:00:00 (UTC) 到当前时间的毫秒数。因为 now() 是 Date 的一个静态函数,所以必须以 Date.now() 的形式来使用。注意:为了提供针对定时攻击和指纹追踪的保护,Date.now() 的精度可能会根据浏览器的高级设置项目而被取整。

console.log(Date.now()); //1629614995699

三、Array对象

=========

JavaScript的 **Array** 对象是用于构造数组的全局对象,数组是类似于列表的高阶对象。

1.push:添加元素到数组的末尾         改变原数组    (打印函数体,将展示length)

let fruits = [“Apple”, “Banana”]

console.log(fruits.push(‘Orange’)) // 3

console.log(fruits) // [“Apple”, “Banana”,“Orange”]

2.pop:删除数组末尾的元素                改变原数组        (打印函数体,将展示被删除的元素)

let fruits = [“Apple”, “Banana”,“Orange”]

console.log(fruits.pop()) // “Orange”

console.log(fruits) // [“Apple”, “Banana”]

3.shift:删除数组最前面(头部)的元素        改变原数组     (打印函数体,将展示被删除的元素)

let fruits = [“Apple”, “Banana”,“Orange”]

console.log(fruits.shift()) // “Apple”

console.log(fruits) // [“Banana”,“Orange”]

4.unshift:添加元素到数组的头部                改变原数组      (打印函数体,将展示length)

let fruits = [“Banana”,“Orange”]

console.log(fruits.unshift(“Apple”)) // 3

console.log(fruits) // [“Apple”,“Banana”,“Orange”]

5.indexOf找出某个元素在数组中的索引

fruits.push(‘Mango’);

// [“Strawberry”, “Banana”, “Mango”]

var pos = fruits.indexOf(‘Banana’);

// 1

6.fill给数组填充元素            fill(value,start,end)  注意:end为开区间,不包括end 改变原数组

arr = [1,2,3,4]

console.log(arr.fill(‘我’,1,3)); // [0,‘我’,‘我’,4]

7.判断数组中是否包含某元素   返回布尔值

const array1 = [1, 2, 3];

console.log(array1.includes(2));

// expected output: true

const pets = [‘cat’, ‘dog’, ‘bat’];

console.log(pets.includes(‘cat’));

// expected output: true

8.isArray() 判断是否为数组  返回布尔值

Array.isArray([1, 2, 3]);

// true

Array.isArray({foo: 123});

// false

Array.isArray(“foobar”);

// false

Array.isArray(undefined);

// false

9.slice 截取数组中的元素  slice(start,end)     不改变原数组

const animals = [‘ant’, ‘bison’, ‘camel’, ‘duck’, ‘elephant’];

console.log(animals.slice(2));

// expected output: Array [“camel”, “duck”, “elephant”]

console.log(animals.slice(2, 4));

// expected output: Array [“camel”, “duck”]

10.删除或替换现有元素或者原地添加新的元素  splice(start,删除个数,需要添加的元素)  改变原数组

const months = [‘Jan’, ‘March’, ‘April’, ‘June’];

months.splice(1, 0, ‘Feb’);

console.log(months);

// expected output: Array [“Jan”, “Feb”, “March”, “April”, “June”]

四、String对象

==========

String 全局对象是一个用于字符串或一个字符序列的构造函数。

1.charAt() 方法从一个字符串中返回指定的字符。

let str = ‘12345’

console.log(str.charAt(1)) ; // 2

console.log(str.charAt(4)); // 5

2.concat() 方法将一个或多个字符串与原字符串连接合并,形成一个新的字符串并返回。         concat() 方法不改变原字符串

注意:在性能方面 强烈建议使用赋值操作符(+, +=)代替 concat 方法。

let hello = 'Hello, ’

console.log(hello.concat(‘Kevin’, ‘. Have a nice day.’))

// Hello, Kevin. Have a nice day.

3.includes() 方法用于判断一个字符串是否包含在另一个字符串中,根据情况返回 true 或 false。

includes() 方法是区分大小写的。例如,下面的表达式会返回 false :

‘Blue Whale’.includes(‘blue’); // returns false

var str = ‘To be, or not to be, that is the question.’;

console.log(str.includes(‘To be’)); // true

console.log(str.includes(‘question’)); // true
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)


完整版面试题资料免费分享,只需你点赞支持,动动手指点击此处就可免费领取了

前端实习面试的套路


回顾项目

往往在面试时,面试官根据你简历中的项目由点及面地展开问答,所以请对你做过的最好的项目进行回顾和反思。回顾你做过的工作和项目中最复杂的部分,反思你是如何完成这个最复杂的部分的。

面试官会重点问你最复杂的部分的实现方法和如何优化。重点要思考如何优化,即使你项目中没有对那部分进行优化,你也应该预先思考有什么优化的方案。如果这部分答好了,会给面试官留下很不错的印象。

重点在于基础知识

这里指的基础知识包括:前端基础知识和学科基础知识。

前端基础知识:html/css/js 的核心知识,其中 js 的核心知识尤为重要。比如执行上下文、变量对象/活动对象(VO/AO)、作用域链、this 指向、原型链等。

学科基础知识:数据结构、计算机网络、算法等知识。你可能会想前端不需要算法,那你可能就错了,在大公司面试,面试官同样会看重学生这些学科基础知识。
你可能发现了我没有提到React/Vue这些框架的知识,这里得说一说,大公司不会过度的关注这方面框架的知识,他们往往更加考察学生的基础。
这里我的建议是,如果你至少使用或掌握其中一门框架,那是最好的,可以去刷刷相关框架的面试题,这样在面试过程中即使被问到了,也可以回答个 7788。如果你没有使用过框架,那也不需要太担心,把重点放在基础知识和学科基础知识之上,有其余精力的话可以去看看主流框架的核心思想。


回顾项目

往往在面试时,面试官根据你简历中的项目由点及面地展开问答,所以请对你做过的最好的项目进行回顾和反思。回顾你做过的工作和项目中最复杂的部分,反思你是如何完成这个最复杂的部分的。

面试官会重点问你最复杂的部分的实现方法和如何优化。重点要思考如何优化,即使你项目中没有对那部分进行优化,你也应该预先思考有什么优化的方案。如果这部分答好了,会给面试官留下很不错的印象。

重点在于基础知识

这里指的基础知识包括:前端基础知识和学科基础知识。

前端基础知识:html/css/js 的核心知识,其中 js 的核心知识尤为重要。比如执行上下文、变量对象/活动对象(VO/AO)、作用域链、this 指向、原型链等。

学科基础知识:数据结构、计算机网络、算法等知识。你可能会想前端不需要算法,那你可能就错了,在大公司面试,面试官同样会看重学生这些学科基础知识。
你可能发现了我没有提到React/Vue这些框架的知识,这里得说一说,大公司不会过度的关注这方面框架的知识,他们往往更加考察学生的基础。
这里我的建议是,如果你至少使用或掌握其中一门框架,那是最好的,可以去刷刷相关框架的面试题,这样在面试过程中即使被问到了,也可以回答个 7788。如果你没有使用过框架,那也不需要太担心,把重点放在基础知识和学科基础知识之上,有其余精力的话可以去看看主流框架的核心思想。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值