Javascript02基础部分1。3
013 let, const and var
本小节主要讲了声明变量的三种方式 。
视频加载中...
声明变量有三种方式let、const、var。let和const是在ES6中新引入。var是旧方法。
通过let声明age变量,给age变量赋值30,然后改变age变量的值为31。
通过const声明birthYear变量,此变量的值1991不允许被修改。如果将birthYear的值赋值为1990,则控制台可以看到错误提示信息。
通过const声明的变量不能为空,必须为该变量赋值。声明const变量job未赋值,在控制台可以看到错误提示信息"const声明未初始化"。
通过var声明变量的方式,不要使用,这里只是了解一下它。
类似通过let声明变量一样。但是,在控制台上没有任何提示信息。var和Let的区别,后续课程继续详细说明。
如果没有强制声明变量,直接给出变量名,然后赋值。看上去,即使没有使用let或const声明变量lastName,但是它好像也有效了。这样是错误的,因为实际上没有在当前范围内创建变量,而是创建了全局属性,一定区分开这种情况。
014 Basic Operators
本节主要讲基本运算符。
算术运算符:加, 减, 乘, 除
赋值运算符:=, +=, *=,++,--
比较运算符:>, <, >=, <=
视频加载中...
运算符:-,示例如下:const ageJonas = 2037 - 1991; console.log(ageJones);
控制台输出结果46。
运算符:-,示例如下:const ageJonas = 2037 - 1991; const ageSarah = 2037 - 2018; console.log(ageJones, ageSarah);
控制台输出结果46 19。
注意,console.log输出多个结果的用法。
const now = 2037; const ageJonas = now - 1991; const ageSarah = now - 2018; console.log(ageJones, ageSarah);
控制台输出结果46 19。
代码中2037重复出现,可以通过声明变量来替换。
运算符:*,示例如下:console.log(ageJonas * 2, ageJonas / 10, 2 ** 3); // 2 ** 3 means 2 to the power of 3 = 2 * 2 * 2
控制台输出92 4.6 8
运算符:+,用于连接两个字符串示例:const firstName = "Jonas"; const lastName = "Schmedtmann"; console.log(firstName + lastName);
在控制台输出JonasSchmedtmann
运算符:+,用于连接两个字符串带空格示例:const firstName = "Jonas"; const lastName = "Schmedtmann"; console.log(firstName + " " + lastName); 在控制台输出Jonas Schmedtmann
赋值运算符:=let x = 10 + 5; console.log(x);
在控制台输出15
赋值运算符:+=let x = 10 + 5; // 15 x += 10; // x = x + 10 = 25
console.log(x);
在控制台输出25
赋值运算符:*=let x = 10 + 5; // 15 x += 10; // x = x + 10 = 25 x *= 4; // x = x * 4 = 100 console.log(x);
在控制台输出100
赋值运算符:++let x = 10 + 5; // 15 x += 10; // x = x + 10 = 25 x *= 4; // x = x * 4 = 100 x++; // x = x + 1 console.log(x);
在控制台输出101
赋值运算符:--let x = 10 + 5; // 15 x += 10; // x = x + 10 = 25 x *= 4; // x = x * 4 = 100 x--; x--; console.log(x);
在控制台输出99
比较运算符:>console.log(ageJonas > ageSarah);
控制台输出true
比较运算符:>=console.log(ageJonas > ageSarah); console.log(ageSarah >= 18);
控制台输出true
定义的const isFullAge变量的类型为boolean类型。const isFullAge = ageSarah >= 18; console.log(now - 1991 > now - 2018);
控制台输出true
从运算符的优先级来看,先计算,后比较。
015 Operator Precedence
本节课程主要讲操作符的优先级。
视频加载中...
运算符优先级表格,查看网址:
杩愮畻绗︿紭鍏堢骇 - JavaScript | MDNMDN Web DocsMDN logoMozilla logo
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/Operator_Precedence#table](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/Operator_Precedence#table
通过表格,可以知道减号(-)运算符优先级高于大于号(>)运算符,所以const now = 2037; const ageJonas = now - 1991; const ageSarah = now - 2018; console.log(now - 1991 > now - 2018);
在控制台输出布尔值为true
console.log(25 - 10 - 5);
在控制台输出10
减号(-)运算符运算顺序是从左到右。
let x, y; x = y = 25 - 10 - 5; console.log(x, y);
在控制台输出10 10
赋值(=)运算符的优先级相对来说最低,并且赋值运算是从右向左进行。
const averageAge = ageJonas + ageSarah / 2 console.log(ageJonas, ageSarah, averageAge);
在控制台输出46 19 55.5
根据优先级表格,除法优先级高于加法,所以计算年龄的平均值结果不符合预期。
const averageAge = (ageJonas + ageSarah) / 2 console.log(ageJonas, ageSarah, averageAge);
在控制台输出46 19 32.5
根据优先级表格,除法优先级高于加法,使用括号将加法计算括起来,括号优先级高于除法,所以这次计算年龄的平均值结果正确。
016 Coding Challenge #1
视频加载中...
Mark and John are trying to compare their BMI (Body Mass Index), which is calculated using the formula: BMI = mass / height ** 2 = mass / (height * height) (mass in kg and height in meter).
Your tasks:
1. Store Mark"s and John"s mass and height in variables
2. Calculate both their BMIs using the formula (you can even implement both versions)
3. Create a Boolean variable "markHigherBMI" containing information about whether Mark has a higher BMI than John.
Test data:
Data 1: Marks weights 78kg and is 1.69m tall. John weights 92kg and is 1.95m tall.
Data 2: Marks weights 95kg and is 1.88m tall. John weights 85kg and is 1.76m tall.
const massMark = 78; const heightMark = 1.69; const massJohn = 92; const heightJohn = 1.95; const BMIMark = massMark / heightMark ** 2; const BMIJohn = massJohn / (heightJohn * heightJohn); console.log(BMIMark, BMIJohn);
在控制台输出27.309968138370508 24.194608809993426
const massMark = 78; const heightMark = 1.69; const massJohn = 92; const heightJohn = 1.95; const BMIMark = massMark / heightMark ** 2; const BMIJohn = massJohn / (heightJohn * heightJohn); const markHigherBMI = BMIMark > BMIJohn; console.log(BMIMark, BMIJohn, markHigherBMI);
在控制台输出27.309968138370508 24.194608809993426 true
const massMark = 95; const heightMark = 1.88; const massJohn = 85; const heightJohn = 1.76; const BMIMark = massMark / heightMark ** 2; const BMIJohn = massJohn / (heightJohn * heightJohn); const markHigherBMI = BMIMark > BMIJohn; console.log(BMIMark, BMIJohn, markHigherBMI);
在控制台输出26.87867813490267 27.44059917355372 false
35岁是道坎儿互联网行业容不下大龄青年?在受到职场35岁现象困扰的群体中,程序员也许是最受关注也最具代表性的职业门类。因为互联网行业技术迭代速度快工作强度大,程序员往往被视为只能吃青春饭。因为计算机系统常用1024作为计
2022环球旅游文化小姐胡雅迪环球旅游频道日出日落四季如歌因为旅行,所以遇见相约环球,遇见你想要的美2022环球旅游文化小姐胡雅迪环球记者站醉美家乡环球小记者你的家乡在哪里?胡雅迪辽宁环球小记者请推荐家乡的3种
新兴行业成色狼的温床?新鲜刺激的背后,不少男性迷失在其中现在大多数的一二线城市都出现了一种新型的沉浸式游戏模式,称为为剧本杀。虽然很多人调侃剧本杀简直是下班之后又给自己开会,但仍然有很多的年轻男女和朋友一起相约剧本杀,有些甚至还会和陌生
大别山观红叶。赏瀑布二日游第一天早餐后出发,经G42高速班竹园(天堂寨)出口下高速,经吴店。天堂寨,神秘的马丁公路九曲十八弯的马丁公路中餐后走最美公路马丁公路至马鬃岭景区(车程约35分钟,游程2。5小时),
散文岁月里的煤油灯光人类眼睛的构造,使得在白天和黑夜的交替中,遇到没有星月的夜晚,便两眼一抹黑。不像一些动物有夜视功能,夜晚可以照样奔跑捕猎。正因如此,原始人类到了夜晚,只能爬到树上或躲进洞穴,逃避猛
岁月不老,秋光正好,相赏莫匆匆秋光好,爽气豁心胸。笼写葡萄珠历落,盘堆荷藕玉玲珑。相赏莫匆匆。题记独坐秋光,晨晖脉脉,仿佛私语,温柔,温暖。耳畔,微风如缕,拂动发梢,轻盈,轻灵。梢头,果实累累,个个金黄。阳光均
阔别小说十年后,杨争光新长篇我的岁月静好出版近日,杨争光的最新长篇小说我的岁月静好由人民文学出版社出版。这是2012年以来,杨争光唯一一部新作,也是自少年张冲六章之后的唯一长篇。杨争光1981年发表作品至今,著有长篇小说代表
朝鲜往事二战结束后,美国接管了日本,顺带占领了南朝鲜,苏联控制了北边,两股势力以38度北纬为界,也就是38线。1948年8月,李承晚在美国的支持下当选了总统,成立了大韩民国。李承晚早年科举
抗美援朝,朝鲜姑娘送玉照1953年,黄天养(后右)在朝鲜朝鲜姑娘赠送黄天养的照片1953年初,我的父亲黄天养只有17岁,参加抗美援朝,在志愿军第54军直属供给处当汽车维修兵。他的任务是和车队一块作战,把武
有个大明星当婆婆是什么体验?自古以来,婆媳关系就是个无解的难题。一场婚姻将两个完全陌生的女人连接在了一起,饮食习惯,生活习惯的碰撞,导致问题频发。想要相处得好,更是难上见难。不过娱乐圈中也有这样一部分女星,他
中国科学家有新发现记者从位于内蒙古自治区正镶白旗的中国科学院国家空间中心明安图野外科学观测研究站获悉,由中国科学院国家空间科学中心研究员颜毅华领衔的科研团队,发现一种新的可用于明安图射电频谱日像仪(