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
基于AutoCAD。NET的桥涵布孔程序开发张俊英贾舒阳邢世根内蒙古交通设计研究院有限责任公司内蒙古高等级公路建设开发有限责任公司摘要针对桥涵设计中孔跨精确布置难以实现的问题,采用C语言,基于AutoCAD。NET进行程序开
消息称摩托罗拉Razr2023折叠屏手机将在6月推出IT之家2月24日消息,摩托罗拉Razr2023折叠屏手机的渲染图此前已曝光,根据最新消息,该手机将在6月发布。爆料者evleaks(EvanBlass)此前放出了该机的渲染图,他
资讯总额50亿元,智己汽车获九大金融机构贷款签约文懂车帝原创李德喆懂车帝原创行业懂车帝从智己汽车官方获悉,日前,智己汽车顺利进行50亿元人民币银团贷款签约。银团由上汽财务公司作为牵头行工商银行作为安排行,交通银行作为联合牵头行并
横琴金融30条正式发布!澳门元在横琴可作为小额支付使用央视新闻客户端2月23日,中国人民银行联合中国银行保险监督管理委员会中国证券监督管理委员会国家外汇管理局和广东省人民政府正式发布关于金融支持横琴粤澳深度合作区建设的意见,为横琴粤澳
外资对华投资态度日趋谨慎日前,风险投资公司IMAAsia发布报告指出,由于地缘政治风险加剧,欧美企业对在中国的资本投资态度日趋谨慎。该公司董事总经理马丁进一步表示,中美间持续的贸易紧张关系是欧美企业当前面
多个楼盘宣布涨价,专家后续房价大涨的可能性不大楼盘开始宣传收回折扣和涨价,真回暖还是假营销?春风渐暖,楼市小阳春也在越来越多的城市出现。近日,广东广州东莞等地出现部分楼盘宣布收回折扣或涨价,火红的战报刷屏朋友圈,银柿财经联系多
发补贴鼓励生育,哪些城市最舍得花钱?本文来源时代周报作者阿力米热从怀孕到现在,去医院检查就花了8000多元,另外还有16周之前为保胎花了一万多(元),这娃都没出生,两万多(元)没了。在各大社交平台上,不少准宝妈们开始
急需小额资金怎么办?三种办理途径,快速拿钱!日常生活中,有时候都需要小额资金进行周转,但是不可能每时每刻都有钱救急,面对资金不足的时候又不好意思开口向亲朋好友借钱,怎么办呢?很多人会想到小额贷款,那么,眼下哪些途径适合办理小
从新规与金融政策看2023年私募基金助力企业发展新趋势伴随着2023年经济温和复苏的预期和政策导向,金融监管也发布了一系列新规进一步维护金融市场稳定推进金融改革,助力实体经济产业升级。作为企业最重要的直接融资渠道之一的私募基金行业,也
强信心开新局江西企业生产一线走访观察记者近日在江西一些企业的生产一线走访看到,有的企业抢抓机遇,不断接到市场订单有的企业增资扩产,对国内外市场充满信心。繁忙的生产线背后,涌动着强劲的经济发展活力。走进江西凯马百路佳客
如何在工作间歇中快速恢复?闭目养神或胜过喝咖啡!在当今繁忙的生活中,人们经常会遇到疲劳和精神衰竭的情况。为了提高工作效率,很多人选择喝咖啡来提神。然而,喝咖啡并不总是一个好的选择,因为它可能会导致身体的紧张和焦虑,影响睡眠,并在