Javascript数据类型与基本运算,web开发书籍

这里一定要清楚,其对象类型和基本类型不是一个东西,具体的看完类型转换就一切都清楚了。

js中其他常见的对象

当然,下面继续说对象,js 常用的对象有:Array,Object,Date,RegExp等等。定义方法如下:

var arr = new Array(); //得到一个空数组

var arr2 = new Array(5); //得到一个长度为5的数组,初值为undefined

var arr3 = new Array(‘b’,‘a’,‘c’); //得到一个长为3,对应值为’b’,‘a’,‘c’ 的数组

var obj = new Object(); //得到一个空对象

var now = new Date(); //得到当前时间

var reg = RegExp(‘1[\w\d]*$’); //得到一个正则表达式

对于数组、正则表达式和对象还有一种字面量的定义方法,这个方法和上面是完全等价的:

var arr = []; //得到一个空数组

var arr3 = [‘b’,‘a’,‘c’]; //得到一个长为3,对应值为’b’,‘a’,‘c’ 的数组

var obj = {}; //得到一个空对象

var reg = /2[\w\d]*$/; //得到一个正则表达式

数组和对象的访问

这个部分直接举例子:

  • 数组:一些数据的集合,这里不要求数据必须是同样类型的

var arr = [1, 2, 3, ‘a’]; //定义一个数组

arr[0]; //1 访问数组的第1个元素,注意索引从0开始

arr[1]; //2 访问数组的第2个元素

arr[3]; //‘a’ 访问数组的第4个元素

arr[-1], arr[4], arr[1.3]; //undefined 访问数组越界或索引不正确都返回 undefined

  • 对象: 键值对的集合,键值对之间由逗号分开,键和值由冒号分开

var obj = {

name: ‘Bob’,

age: 18,

gender: ‘M’

};

obj.name; //‘Bob’ 获取 obj 对象的姓名

obj.age; //18 获取 obj 对象的年龄

obj.gender; //‘M’ 获取 obj 对象的性别

注意当键名中有符号也需要加引号。

其余的对象会在以后用到的时候再仔细讲

基本运算和运算符


运算符就像我们数学中的加减乘除,也像数学中的计算规定的先后顺序,这里我直接给出所以运算符的运算顺序和实例,必要的解释在表格后面,没有解释到的属于比较深奥的运算符,记住它的顺序即可,功能后续再理解。

优先级运算符结合性举例说明
20圆括号n/a( … )-
19成员访问从左到右obj.name-
需计算的成员访问从左到右obj[“name”]-
new (带参数列表)n/anew Person()-
18函数调用从左到右fun(args)-
new (无参数列表)从右到左new fun-
17后置递增n/aa++相当于 a = a + 1;
后置递减n/aa–相当于 a = a - 1;
16逻辑非从右到左!a-
按位非从右到左~a-
一元加法从右到左+a-
一元减法从右到左-a-
前置递增从右到左++a-
前置递减从右到左–a-
typeof从右到左typeof 4得到值的类型 ‘number’
void从右到左void(0)执行表达式并返回 undefined
delete从右到左delete obj.age删除对象属性
15从右到左2**4得16
14乘法从左到右2 * 3得 6
除法从左到右4 / 2得 2
取模从左到右4 % 3得 1
13加法从左到右1 + 3得 4
减法从左到右2 - 3得 -1
12按位左移从左到右32 << 5得 1024
按位右移从左到右32 >> 3得 8
无符号右移从左到右-32 >>> 2得 1073741816
11小于从左到右-1 < 2得 true
小于等于从左到右-1 <= 2得 true
大于等于从左到右1 >= 2得 false
大于从左到右1 > 2得 false
in从左到右“name” in obj-
instanceof从左到右li instanceof HTMLElement-
10等号从左到右5 == ‘5’得 true
非等号从左到右5 != ‘5’得 false
全等号从左到右5 === ‘5’得 false
非全等号从左到右5 !== ‘5’得 true
9按位与从左到右10 & 40得 8
8按位异或从左到右10 ^ 40得 34
7按位或从左到右10 | 40得 42
6逻辑与从左到右0 && 3得 0,不得 false
5逻辑或从左到右0 || 3得 3,不得 true
4?:从右到左3 != 0 ? 1 : 2得 1
3赋值从右到左a = 2-
a += 2相当于 a = a + 2
a -= 2相当于 a = a - 2
a *= 2相当于 a = a * 2
a /= 2相当于 a = a / 2
a &= 2相当于 a = a & 2
a |= 2相当于 a = a | 2
a ^= 2相当于 a = a ^ 2
a %= 2相当于 a = a % 2
a <<= 2相当于 a = a << 2
a >>= 2相当于 a = a >> 2
a >>>= 2相当于 a = a >>> 2
2yield从右到左yield returnValue;-
yield*从右到左yield* returnValue;-
1展开运算符n/aarr1.push(…arr2)-
0逗号从左到右a=1, b=2返回最后一个表达式的值 2

需要说明的是:

  1. 优先级越高的优先计算,同优先级的从左到右依次计算;
  2. a++ 与 ++a 的区别: 前者先返回值后自加,后者先自加再返回值(a– 与 –a 同理);
  3. 涉及到位运算的部分不是十分重要,但以后的文章会细谈;
  4. == 和 === 的区别,前者比较是发生自动类型转换,后者不发生自动类型转换(!= 与 !== 同理);
  5. 对于 exp ? val1 : val2; 如果 exp 的结果为 true,整个表达式得 val1, 否则得 val2;

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

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

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

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

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

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

总结一下

面试前要精心做好准备,简历上写的知识点和原理都需要准备好,项目上多想想难点和亮点,这是面试时能和别人不一样的地方。

还有就是表现出自己的谦虚好学,以及对于未来持续进阶的规划,企业招人更偏爱稳定的人。

万事开头难,但是程序员这一条路坚持几年后发展空间还是非常大的,一切重在坚持。

为了帮助大家更好更高效的准备面试,特别整理了《前端工程师面试手册》电子稿文件。

前端面试题汇总

img-blog.csdnimg.cn/img_convert/621960a57eb42479e02d6d64c0c81891.png)

前端面试题汇总


  1. A-Za-z ↩︎

  2. A-Za-z ↩︎

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值