JavaScript基本知识总结(全)_js基础知识点总结,面试常识

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

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

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

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

如果你需要这些资料,可以添加V获取:vip1024c (备注前端)
img

正文

使

线

开头,不能以数字开头 不推荐这么做使用下划线和

开头,不能以数字开头不推荐这么做使用下划线和开头 最好见名知意
变量名称对大小写敏感(y 和 Y 是不同的变量)
3,变量的数据类型:字符串、数字、布尔、数组、对象、Null、Undefined
字符串string:字符串是存储字符(比如 “Hungry”)的变量 可以是引号中的任意文本。
数字number:JS只有一种数字类型。数字可以带小数点,也可以不带.很大或很小的数字可以通过科学(指数)计数法来写:var y=123e5; // 12300000,var z=123e-5; // 0.00123
布尔boolean:布尔(逻辑)只能有两个值:true 或 false
数组array:var cars=new Array(); // 创建一个空数组,cars[0]=“Audi”; // 给添加元素(给数组中0下标赋值),任何的数据类型都可以放在数组里,数组里也可以放数组,就是二维数组,输出数组中的数组中的第0个元素 console.log(arr[5][0]);
对象object:JS变量均为对象。当您声明一个变量时,就创建了一个新的对象。
Null,Undefined:可以通过将变量的值设置为 null 来清空变量
4,注意
相同的变量可用作不同的类型
可以通过 JS 变量来做算数,使用的是 = 和 + ,y=5; x=y+2;
重新声明 JavaScript 变量该变量的值不会丢失

六,获取元素的方法
1

可以使用内置对象document上的getElementById方法来获取页面上设置了id属性的元素,获取到的是一个html对象,然后将它赋值给一个变量,比如:

<script type="text/javascript">
  var oDiv = document.getElementById('div1');
</script>

<div id="div1">这是一个div元素</div>

这个是错误的,因为页面上从上往下加载执行的,javascript去页面上获取元素div1的时候,元素div1还没有加载
两种办法解决:
第一种方法:将javascript放到页面最下边

第二种方法:将javascript语句放到window.onload触发的函数里面,获取元素的语句会在页面加载完后才执行,就不会出错了。
<script type="text/javascript">
  window.onload = function(){
       var oDiv = document.getElementById('div1');
   }
</script>
<div id="div1">这是一个div元素</div>


2

可以使用内置对象document上的getElementsByTagName方法来获取页面上的某一种标签,获取的是一个选择集,不是数组,但是可以用下标的方式操作选择集里面的标签元素。

七,操作元素属性:

.操作和[]操作
属性写法
1、html的属性和js里面属性写法一样
2、“class” 属性写成 “className”
3、“style” 属性里面的属性,有横杠的改成驼峰式,比如:“font-size”,改成”style.fontSize”
var oA = document.getElementById(‘link1’);
.操作 , 写属性
oA.style.color = ‘red’;
oA.style.fontSize = sValue;
[]操作 , 写属性
oA.style[sVal1] = sVal2;

innerHTML可以读取或者写入标签包裹的内容

var oDiv = document.getElementById(‘div1’);
//读取
var sTxt = oDiv.innerHTML;
alert(sTxt);
//写入
oDiv.innerHTML =<a href="http://www.itcast.cn">被改变了<a/>;

<div id="div1">这是一个div元素</div>

八,运算符和表达式

1,简介
运算符用于针对操作数进行运算, 表达式是由数字、字符串、运算符等的组合成的式子 比如1 + 2; “Jack” + “Rose”; a > b等
2,运算符分类
算数运算符
加+,减-,乘*,除/,求余数(保留整数)%,累加++,递减–
++:x = ++y; // 先++后赋值,x = y++; // 先赋值后++
–:x = --y; // 先–后赋值,x = y–; // 先赋值后–
赋值运算符
=,+=,-=,*=,/=,%=,例:x+=y等价于x=x+y
比较运算符
等于==,全等(值和类型)===,不等于!=,大于>,小于<,大于等于>=,小于等于<=
逻辑运算符
and&&,or||,not!
条件运算符
基于某些条件对变量进行赋值
var sex = 条件 ? man : woman ;
基于某些条件执行不同的表达式
var result = 条件 ? 5 + 5 : 1 + 2;
注意:如果把数字与字符串相加,结果将成为字符串。字符串与字符串相加也是字符串。

九,数组及操作方法

数组就是一组数据的集合,javascript中,数组里面的数据可以是不同类型的。

定义数组的方法

//对象的实例创建
var aList = new Array(1,2,3);
//直接量创建
var aList2 = [1,2,3,‘asd’];

操作数组中数据的方法

1、获取数组的长度:aList.length;
2、用下标操作数组的某个数据:aList[0];
3、join() 将数组成员通过一个分隔符合并成字符串
4、push() 和 pop() 从数组最后增加成员或删除成员
5、unshift()和 shift() 从数组前面增加成员或删除成员
6、reverse() 将数组反转
7、indexOf() 返回数组中元素第一次出现的索引值
8、splice() 在数组中增加或删除成员
注意:
多维数组指的是数组的成员也是数组的数组。
批量操作数组中的数据,需要用到循环语句

十,JS流程控制

1,选择结构
if语句,当指定条件为 true 时,该语句才会执行代码
if…else 语句, 当条件为 true 时执行代码,当条件为 false 时执行其他代码
if … else if … else 语句, 选择多个代码块之一执行
switch 语句,使用该语句来选择多个代码块之一来执行,替代简化if…else if … else if
switch语句:

switch(n) {
case 1:  执行代码块 1
break;
case 2: 执行代码块 2
break;
default:
n 与 case 1 和 case 2 都不同时执行的代码
}

2,循环结构
for循环
for (初始化变量; 条件; 增量) {
被执行的代码块(循环体)
}
初始化变量 在循环(代码块)开始前执行
条件 执行循环(代码块)的条件。条件成立才执行代码块
增量 在循环(代码块)被执行之后执行 然后再次判断条件
For/In 循环
循环遍历对象的属性
var person = { fname: “John”, lname: “Doe”, age: 25 };
for ( x in person ) {
txt = txt + person[x];
}
while循环
在指定条件为真时循环执行代码块
while ( 条件 ) {需要执行的代码 (循环体)}
do/while 循环
在判断条件之前执行一次循环体,然后判断条件,如果为真再次执行循环。
do {需要执行的代码} while ( 条件 );
循环至少会执行一次 即使条件是 false
3,break和continue
break:用于跳出循环。跳出循环后继续执行该循环之后的代码
continue:中断本次循环,如果出现了指定的条件,继续执行下次循环
标签引用
可以对JS语句进行标记
通过标签引用,break 语句可用于跳出任何 JS 代码块

十一,函数

1,js函数
函数是被调用时执行的可重复使用的代码块
函数是一段实现具体功能的代码,比如求和函数
2,函数的作用
函数是将具体的操作封装成代码块,当下次用到这个操作的时候就可以直接使用这个函数,为了代码重用,使代码更加精简,便于修改需求和项目维护。
3,函数的格式
函数就是包裹在花括号中的代码块,前面使用关键词 function
function 函数名 ( 形式参数列表 ) {
这里是要执行的代码( 函数体 )
返回值:调用函数得到的值(注意:可以没有返回值;遇到return就退出函数)
想返回多个值用数组
}
JS 函数没有返回类型(不需要写返回类型),形参列表不需要标明类型
4,函数的使用
通过调用函数来使用。比如:sum()
注意:在声明函数的前后都可以调用。JS可以在任何位置进行调用函数 当调用该函数时,会执行函数内的代码
函数可以不带参数,参数可以写多个,用逗号隔开
5,函数的类型
函数名就代表整个函数的声明。
函数的类型是function类型 类似于number、string、boolean、等数据类型
函数名也可以作为变量,可以赋值给其他的变量.
注意:如果将函数名赋值给了一个变量,那么这个变量就代表一个函数,可以通过这个变量调用函数, 比如test ( )
6,回调函数
将一个函数作为另一个函数的参数,那么这个函数就是回调函数
利用函数变量的思想在调用函数的时候将另一个函数作为变量
7,知识补充:
1),作用域:变量有效的使用范围
2),全局变量和局部变量
在函数外部声明的变量就是全局变量 可以在不同的函数中使用 浏览器关闭之前不会被销毁
在函数内部声明的变量就是局部变量 只能在这个函数内部使用 作用域结束之后销毁

3),变量与函数预解析

JavaScript解析过程分为两个阶段,先是编译阶段,然后执行阶段,在编译阶段会将function定义的函数提前,并且将var定义的变量声明提前,将它赋值为undefined。
4),arguments对象
函数体内部自带一个argument对象,这个对象是个数组,代表着所有的参数。
5),系统函数
JS是基于对象的语言 比如通过对象去调用函数 并不是直接调用函数(面向过程)
默认自定义的函数是添加到window里的。可以通过window.test( )调用 window也可以省略
比如alert()这种系统封装好的函数,不需要我们声明直接使用的函数就是系统函数

十二,类型转换

1、直接转换 parseInt() 与 parseFloat()

alert('12'+7); //弹出127
alert( parseInt('12') + 7 );  //弹出19 
alert( parseInt(5.6));  // 弹出5
alert('5.6'+2.3);  // 弹出5.62.3
alert(parseFloat('5.6')+2.3);  // 弹出7.8999999999999995
alert(0.1+0.2); //弹出 0.3000000000000004
alert((0.1*100+0.2*100)/100); //弹出0.3
alert((parseFloat('5.6')*100+2.3*100)/100); //弹出7.9

2、隐式转换 “==” 和 “-”

if('3'==3)
{
    alert('相等');
}
// 弹出'相等'
alert('10'-3);  // 弹出7

文末

技术是没有终点的,也是学不完的,最重要的是活着、不秃。

零基础入门的时候看书还是看视频,我觉得成年人,何必做选择题呢,两个都要。喜欢看书就看书,喜欢看视频就看视频。

最重要的是在自学的过程中,一定不要眼高手低,要实战,把学到的技术投入到项目当中,解决问题,之后进一步锤炼自己的技术。

自学最怕的就是缺乏自驱力,一定要自律,杜绝“三天打鱼两天晒网”,到最后白忙活一场。

高度自律的同时,要保持耐心,不抛弃不放弃,切勿自怨自艾,每天给自己一点点鼓励,学习的劲头就会很足,不容易犯困。

技术学到手后,找工作的时候一定要好好准备一份简历,不要无头苍蝇一样去海投简历,容易“竹篮打水一场空”。好好的准备一下简历,毕竟是找工作的敲门砖。

拿到面试邀请后,在面试的过程中一定要大大方方,尽力把自己学到的知识舒适地表达出来,不要因为是自学就不够自信,给面试官一个好的印象,面试成功的几率就会大很多,加油吧,骚年!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024c (备注前端)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
好准备一份简历,不要无头苍蝇一样去海投简历,容易“竹篮打水一场空”。好好的准备一下简历,毕竟是找工作的敲门砖。

拿到面试邀请后,在面试的过程中一定要大大方方,尽力把自己学到的知识舒适地表达出来,不要因为是自学就不够自信,给面试官一个好的印象,面试成功的几率就会大很多,加油吧,骚年!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024c (备注前端)
[外链图片转存中…(img-rJ0brYAP-1713142007341)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 20
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值