JavaScript——原生JS基础,查缺补漏

}

  1. 有参有返回值

function KFC(a,b){

return a*b;

}

备注:

  1. 函数在哪里调用, 返回值就去到了哪里

  2. 有返回值的情况,一定需要新建变量来接受

函数的返回值:

  1. 需要写在return关键字后, 可以是一个值,也可以是一个表达式计算出来的值。

  2. return在一个函数中,理论上可以出现很多个,但是只有一个会执行

  3. return被触发后,当前函数立刻结束,它下面的代码不再执行。

Math对象

================================================================

什么是Math对象: 是js提供给开发者的一款内置常见数学公式的对象,所有Math对象中的方法, 都会有返回值。

如何定义一个随机数:

Math.random()*(较大的数 - 较小的数) + 较小的数

  1. 范围只确定终点 的随机数

var one = Math.random()*10;

  1. 范围两端都确定的 随机数

var two = Math.random()*(10-7)+7;

  1. 去掉随机数中 的小数

Math.ceil() : 向上取整

Math.floor() : 向下取整

Math.round() : 四舍五入

变量的作用域

================================================================

  1. 全局变量: 不在函数中声明或定义.(之前的写法);

它的作用范围,是当前整个文件. 任何地方都可以获取并修改它

  1. 局部变量: 定义或声明在函数中的变量,当函数执行结束后,这个变量被回收

分支和循环结构 并不能产生 局部变量。 它们产生的是全局变量

数组的基本概念

=================================================================

什么是数组:

数组是存储1个或多个数据的容器,它是一组内存空间。 通常用来批量处理数据

这组内存空间的名字,叫做数组名

数组的特性:

数组是个不挑食的家伙,对其自身储存的数组元素并没有什么限制,无论是数量还是类型

通过数组下标(从0开始)来管理数组元素,不能直接通过数组名来操作数组元素,需要结合下标

数组名.length:

表示的是数组的长度,也是数组当前存储元素的个数

因为下标从0开始,所以数组长度-1表示数组内最后一个元素的下标;

创建一个数组:

  1. 传统写法

var arr = new Array();

var str = new String();

  1. 字面量(语法糖)

var arr = [1,2,3,“haha”];

console.log(arr);

访问数组:

  1. 访问单个元素

console.log(arr[0]);

  1. 访问全部元素

数组和循环的结合使用

for(var i = 0; i < arr.length; i++){

console.log(arr[i]);

}

备注: 循环访问数组时(遍历),容易出现数组越界的问题,一旦出现,会很麻烦;

数组越界: 访问了不属于该数组的内存空间

数组的方法:

  1. push: 将一个元素添加到数组的最后一位

  2. unshift: 添加到数组的第一位

  3. pop(): 删除数组最后一个元素

  4. shift: 删除数组第一个元素


  1. 返回 数组中指定的范围

1)slice(开始,结束) : 截取数组中的指定范围,并将其返回 (需要多次使用就定义新数组来接收)

备注: 从开始位置,到结束位置的前一位, 是指定的范围

2)splice(开始的位置,修改的长度)

删除: 只规定了开始位置和修改的长度,但是没有规定新的内容

替换: 规定了开始位置和修改长度,也规定了新的内容

插入: 新内容的个数,多于修改的长度

slice和splice的区别:

  1. slice不会修改原数组,只是复制出来一份新的内容

  2. splice修改原数组的数据,没有复制出新的内容


  1. join(): 将数组中的元素,全部转换为字符串,并拼接起来。 最后返回,小括号中可以指定分割字符,如果没有指定,默认是逗号

  2. arr.concat(arr_two):拼接数组,arr_two作为参数,拼接到了调用者arr的后面。 结合成了一个新的数组

  3. sort(): 数组排序,将调用者中的数据,按照从小到大的顺序排列

  4. reverse(): 倒序排列

  5. instanceof:判断 它 是不是一个数组, 并返回 true / false

稀疏数组:

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

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

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

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

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

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注前端)
img

ES6

  • 列举常用的ES6特性:

  • 箭头函数需要注意哪些地方?

  • let、const、var

  • 拓展:var方式定义的变量有什么样的bug?

  • Set数据结构

  • 拓展:数组去重的方法

  • 箭头函数this的指向。

  • 手写ES6 class继承。

CodeChina开源项目:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

微信小程序

  • 简单描述一下微信小程序的相关文件类型?

  • 你是怎么封装微信小程序的数据请求?

  • 有哪些参数传值的方法?

  • 你使用过哪些方法,来提高微信小程序的应用速度?

  • 小程序和原生App哪个好?

  • 简述微信小程序原理?

  • 分析微信小程序的优劣势

  • 怎么解决小程序的异步请求问题?

一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!

AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算

76e264468aa993416a9a031.png)

一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!

AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算

  • 16
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值