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
小日本的逻辑为什么失灵了?1,1886年,丁汝昌率北洋舰队访问日本长崎,本意在于威慑,以遏制日本侵略野心,不料却被倭人窥见破绽。东乡平八郎参观定远舰镇远舰,看到炮管上晾着裤衩子,不由暗自欢喜。得出结论北洋舰
奥密克戎感染茶饮辅助治疗体会各位茶友可能和我一样,平时每天无茶不欢,黑白红绿各色随性,有头疼脑热的也喜欢喝白茶辅助消炎或喝黑茶调理肠胃。我是四天前开始阳了发烧的,当天下午跑了还没吃药时,称着还能行动,泡了辛辣
速改!肿瘤患者要想延长生存期,这5种省钱习惯必须改掉!阅读前请点关注,每天定时分享关于乳腺肿瘤及癌症知识,拥抱每一位肿瘤患者,让你在抗癌的路上不孤单菜板一个就够用隔夜饭菜热一热还能吃发霉一半的蔬菜水果,切掉坏的部分继续吃节省虽然是中华
阳了第一天12月17日,晚10点多嗓子发紧12月18日,凌晨3点左右睡不着,全身酸痛无力,嗓子发紧严重,吞咽感疼痛,脑袋疼,可能是因为需要睡眠,期间一直喝水12月18日,6点多睡不着了,酸痛
高血压怎么早期预防?1劳逸结合生活起居一定要有规律,并且注意劳逸结合。适当参加一些娱乐活动,放松心情。当然运动也要适度,每次运动时间以不超过2小时为宜2情绪稳定良好的状态将会使身心的健康获益匪浅。学会
苹果售后扯皮,国产售后却受人称赞?小米11这次究竟何德何能?已经记不得是从什么时候开始,似乎只要有人一说到售后好的手机品牌,大家就总会去推荐苹果。原因也很简单,就因为苹果手机能够购买那所谓的AC!在过去很长一段的时间里,只要大家在购买苹果手
苹果正开发新显示器包括升级版ProDisplayXDR品玩12月19日讯,据MarkGurman消息,苹果正在开发多款新的外接显示器,其中一款是升级版ProDisplayXDR,将与搭载AppleSilicon的新款MacPro配套,
钱多事少?苹果开放第三方应用商店,对收入的影响有多大?中国经济周刊记者周瑞峰编译据彭博社报道,近日,为了遵守即将在2024年全面生效的数字市场法(DigitalMarketsAct),苹果正准备在欧洲地区销售的iPhone和iPad上
又15投12中,锡安这样打下去,字母哥的NBA纪录就不保了字母哥是当今NBA的怪兽球员,他虽然投射能力不足,但身高2米11的他拥有超强的运动能力,冲击对方篮下完成上篮或扣篮对他而言太容易,正因为如此,字母哥经常能以超高命中率得到30,他由
阿根廷时隔36年再度夺冠,神预测的义乌球衣却被指违法侵权北京时间12月19日凌晨,卡塔尔世界杯决赛中,阿根廷队战胜法国队,获得本届世界杯冠军,这是阿根廷队继1978年1986年夺冠后,时隔36年获得的第三个世界杯冠军。全球无数球迷都为这
球王梅西被注册商标12月18日,在2022卡塔尔世界杯足球赛决赛中,阿根廷队7比5战胜法国队,夺得冠军,梅西也荣膺本届世界杯金球奖。企查查APP显示,球王梅西商标曾被佛山一家贸易公司申请注册,申请时