城市直播房产教育博客汽车
投稿投诉
汽车报价
买车新车
博客专栏
专题精品
教育留学
高考读书
房产家居
彩票视频
直播黑猫
投资微博
城市上海
政务旅游

JavaScript03基础部分2。3

7月3日 不回头投稿
  042IntroductiontoObjects
  本讲主要学习对象。
  视频加载中。。。
  先复习下数组,定义jonasArray数组。constjonasArray〔Jonas,Schmedtmann,20371991,teacher,〔Michael,Peter,Steven〕〕;
  数组中每一项内容,不能用名字来引用,只能通过数组索引来使用。通过另外一种数据结构对象可以解决。对象是通过键值对来匹配的。
  定义jonas对象。constjonas{firstName:Jonas,lastName:Schmedtmann,age:20371991,job:teacher,friends:〔Michael,Peter,Steven〕};
  通过数组和对象的定义的形式上比较,它们的区别有两点。方括号变成花括号,数组元素前多了冒号和名称。
  在对象定义中,冒号左边称为键,冒号右边称为值。
  对象花括号内键称为对象的属性,值称为对象的属性值。
  数组和对象最大的区别在于,对象内的属性没有顺序约束。而数组必须保持顺序来使用。
  043Dotvs。BracketNotation
  本讲主要学习对象中的点和括号作用。
  视频加载中。。。
  上节课,我们学习了对象的定义。
  constjonas{firstName:Jonas,lastName:Schmedtmann,age:20371991,job:teacher,friends:〔Michael,Peter,Steven〕};console。log(jonas);
  在控制台输出:{firstName:Jonas,lastName:Schmedtmann,age:46,job:teacher,friends:Array(3)}
  展开内容:age:46firstName:Jonasfriends:(3)〔Michael,Peter,Steven〕job:teacherlastName:Schmedtmann
  对象的属性按照字母顺序排序展示。
  从对象中获取属性值使用点表示法。
  jonas。lastName可以获取属性值Schmedtmann。
  从对象中获取属性值使用方括号表示法。
  jonas〔lastName〕可以获取属性值Schmedtmann。
  在对象中使用方括号,方括号内可以用表达式来进行复杂地操作。constnameKeyNconsole。log(jonas〔firstnameKey〕);console。log(jonas〔lastnameKey〕);
  firstName和lastName属性名称,通过字符串拼接完成。
  在控制台输出:JonasSchmedtmann
  对于点运算符,无法像方括号中使用表达式,必须使用确定的属性。
  constinterestedInprompt(WhatdoyouwanttoknowaboutJonas?ChoosebetweenfirstName,lastName,age,job,andfriends);console。log(interestedIn);
  在控制台弹出窗口,输入job,则控制台输出:job
  使用点运算符,看下jonas。job的结果。console。log(jonas。interestedIn);
  在控制台弹出窗口,输入job,控制台输出:undefined
  控制台输出结果与预期不符。这是为什么呢?
  因为jonas。interestedIn只能识别为对象jonas匹配interestedIn属性,匹配不到,所以提示undefined。
  使用点运算符不会把interestedIn识别为用户输入的值job。
  这种情况需要使用方括号来操作。
  console。log(jonas〔interestedIn〕);
  在控制台弹出窗口,输入job,控制台输出:teacher
  如果在弹出窗口内输入的值与jonas内的属性相匹配,则得到对应属性值,否则得到undefined值。
  根据undefined为假的情况,可以作为判断来输出一些说明。constinterestedInprompt(WhatdoyouwanttoknowaboutJonas?ChoosebetweenfirstName,lastName,age,job,andfriends);if(jonas〔interestedIn〕){console。log(jonas〔interestedIn〕);}else{console。log(Wrongrequest!ChoosebetweenfirstName,lastName,age,job,andfriends);}
  在控制台弹出窗口,输入location,控制台输出:Wrongrequest!ChoosebetweenfirstName,lastName,age,job,andfriends
  在控制台弹出窗口,输入job,控制台输出:teacher
  接下来,学习向已知对象中添加属性和值。jonas。locationPjonas〔twitter〕console。log(jonas);
  在控制台输出:age:46firstName:Jonasfriends:(3)〔Michael,Peter,Steven〕job:teacherlastName:Schmedtmannlocation:Portugaltwitter:jonasschmedtman
  044ObjectMethods
  本讲主要学习对象的内置方法this的使用。
  视频加载中。。。
  在对象中有键值相对应。对于值,也可以使用函数。constjonas{firstName:Jonas,lastName:Schmedtmann,birthYear:1991,job:teacher,friends:〔Michael,Peter,Steven〕,hasDriversLicense:true,calcAge:function(birthYear){return2037birthY}};console。log(jonas。calcAge(1991));
  在控制台输出:46console。log(jonas〔calcAge〕(1991));
  在控制台输出:46
  对于函数值的键值对,对象可以通过点运算符和方括号来操作对象属性。
  在对象使用点或者方括号访问calcAge函数的时候,传入的参数1991实际上在对象中已经存在,那么在对象的calcAge函数中,直接调用1991所对应的属性即可。
  constjonas{firstName:Jonas,lastName:Schmedtmann,birthYear:1991,job:teacher,friends:〔Michael,Peter,Steven〕,hasDriversLicense:true,calcAge:function(){console。log(this);return2037this。birthY}};console。log(jonas。calcAge());
  在控制台输出:{firstName:Jonas,lastName:Schmedtmann,birthYear:1991,job:teacher,friends:Array(3),。。。}46
  在对象函数中,this在控制台打印出来的信息是整个对象内容,this代表整个对象,所以this。birthYear指的是1991。
  在对象内部使用this来代表整个对象,仍然是为了简化代码,减少不必要的重复操作。如果把this替换为对象名称jonas,那么当对象名称改变的时候,对象内的对象名称也要更新,而使用this无需多余的操作来同步更新。
  对于对象内的函数调用,如果重复使用,会多次重复计算,有没有方法,可以减少计算量,只计算一次?
  当然可以,将函数的计算结果保存在对象新属性中,当使用的时候直接检索。
  constjonas{firstName:Jonas,lastName:Schmedtmann,birthYear:1991,job:teacher,friends:〔Michael,Peter,Steven〕,hasDriversLicense:true,calcAge:function(){this。age2037this。birthYreturnthis。}};console。log(jonas。calcAge());console。log(jonas。age)console。log(jonas。age)console。log(jonas。age)
  在控制台输出:46464646
  在函数体,通过this。age给对象jonas增加新属性age。后续就可以重复使用age属性,不必再使用函数调用。
  挑战一句话,通过调用对象jonas内的属性来完成。
  constjonas{firstName:Jonas,lastName:Schmedtmann,birthYeah:1991,job:teacher,friends:〔Michael,Peter,Steven〕,hasDriversLicense:true,calcAge:function(){this。age2037this。birthYreturnthis。},getSummary:function(){return{this。firstName}isa{this。calcAge()}yearold{jonas。job},andhehas{this。hasDriversLicense?a:no}driverslicense。}};console。log(jonas。getSummary());
  在控制台输出:Jonasisa46yearoldteacher,andhehasadriverslicense。
  045CodingChallenge3
  本讲主要完成编码练习。
  视频加载中。。。LetsgobacktoMarkandJohncomparingtheirBMIs!Thistime,letsuseobjectstoimplementthecalculations!Remember:BMImassheight2mass(heightheight)。(massinkgandheightinmeter)
  1。Foreachofthem,createanobjectwithpropertiesfortheirfullname,mass,andheight(MarkMillerandJohnSmith)
  2。CreateacalcBMImethodoneachobjecttocalculatetheBMI(thesamemethodonbothobjects)。StoretheBMIvaluetoaproperty,andalsoreturnitfromthemethod。
  3。LogtotheconsolewhohasthehigherBMI,togetherwiththefullnameandtherespectiveBMI。Example:JohnSmithsBMI(28。3)ishigherthanMarkMillers(23。9)!
  TESTDATA:Marksweights78kgandis1。69mtall。Johnweights92kgandis1。95mtall。
  GOODLUCK
  本讲编码练习是使用对象来实现2个人的BMI的计算和比较。
  1、创建对象,属性包含名称,体重,身高。
  2、在对象中创建calcBMI方法计算BMI,存储BMI值到一个属性。
  3、在控制台输出谁的BMI高,信息包含名称和BMI值。
  编码实现参考如下。
  constmark{fullName:MarkMiller,mass:78,height:1。69,calcBMI:function(){this。bmithis。massthis。height2;returnthis。}};constjohn{fullName:JohnSmith,mass:92,height:1。95,calcBMI:function(){this。bmithis。massthis。height2;returnthis。}};mark。calcBMI();john。calcBMI();console。log(mark。bmi,john。bmi);JohnSmithsBMI(28。3)ishigherthanMarkMillers(23。9)!if(mark。bmijohn。bmi){console。log({mark。fullName}sBMI({mark。bmi})ishigherthan{john。fullName}sBMI({john。bmi}))}elseif(john。bmimark。bmi){console。log({john。fullName}sBMI({john。bmi})ishigherthan{mark。fullName}sBMI({mark。bmi}))}
投诉 评论 转载

差点没认出这是赵露思!换了造型后的她,看着好像大妈赵露思被很多人称为甜妹的天花板,顶着一张Q弹胶原蛋白满满的脸蛋,给很多人留下了深刻的印象。但看了赵露思的这一组图片,差点没认出这是她!换了这种卷毛的造型,看着特别像大妈。……全国工商联人才中心产教融合示范实训基地落户娄底职院红网时刻新闻4月17日讯(通讯员周凌博欧阳琦姜帅)4月14日上午,全国工商联人才中心产教融合示范实训基地业务负责人王晓勃一行来到娄底职业技术学院调研并召开产教融合示范实训基地立……JavaScript03基础部分2。3042IntroductiontoObjects本讲主要学习对象。视频加载中。。。先复习下数组,定义jonasArray数组。constjonasArray〔……勇士第六场要变阵了,一组合或被弃用,球迷太容易被针对了NBA季后赛继续进行,上一场比赛勇士队在客场狂输给灰熊队39分,确实引来了很多球迷的热议。上一场比赛勇士队之所以输球很大程度上是因为他们频繁的失误以及没有保护好后场篮板导致的。……银行板块涨1。07长沙银行涨4。49居首来源:中国经济网中国经济网北京4月18日讯今日,银行板块整体涨幅1。07,其中,40只股票上涨,1只股票平盘,1只股票下跌。数据显示,截至今日,银行板块近一周涨幅2……泡酒的文化泡酒泡酒的文化。我们中华医术,就是从酒字开始的。大家知道这个大写的医疗的医,无酒不成医。下面有一个字就叫酉,过去就叫酒的意思。它甲骨文里面就画了个酒坛子,所以这就是酒。因为古……贵州乡村BA纯真VSCBA上海江苏假球姚明主席不如回家卖红薯篮球圈子颇不宁静。正面热点:贵州村BA火爆全网。场地简陋,球员个矮,球技业余,奖品土货。为什么大家好评如潮?负面热点:新疆广汇周琦转会事件、上海江苏消极(假球)比赛……外媒分享苹果VR眼镜生态运行iPad应用,支持游戏健身阅读虽然外界一直在爆料关于苹果VRAR设备的信息,不过大多数都集中在硬件产品层面,关于软件、服务、生态方面却很少提及,最近彭博社的马克古尔曼分享了关于苹果混合头显设备关于软件生态方……实现缓存和数据库一致性方案实战mysqlcanalrabbi最近不是正好在研究canal嘛,刚巧前两天看了一篇关于解决缓存与数据库一致性问题的文章,里边提到了一种解决方案是结合canal来操作的,所以阿Q就想趁热打铁,手动来实现一下。架……NehaSharma,印度女演员模特,高清壁纸NehaSharma是一位印度女演员和模特。夏尔马是比哈尔邦人,就读于巴加尔布尔的卡梅尔山学校,并在新德里国家时装技术学院攻读时装设计课程。Neha身高5英尺5英寸,体重……2023年南京浦口马拉松开跑,4000余名警力全力护航图为浦口警方护航马拉松赛事3月19日上午8点,2023年南京浦口马拉松暨全国女子半程马拉松锦标赛(南京站)在浦口区江浦街道兰溪公园鸣枪起跑,来自国内外近10000名马拉松……网购类型钓鱼愈发猖獗,59。5诈骗者会冒充使用苹果品牌IT之家4月13日消息,网络钓鱼是比较常见的网络攻击形式,根据网络安全公司AtlasVPN公布的最新报道,苹果公司是攻击者最常冒充的品牌。该报告基于卡巴斯基提供的数据,在……
方正朱浩东赴市投资控股集团调研年度平价粉底液大盘点kate携液转粉黑科技强势登场5000元以下它最强!小米万兆路由器评测还能作为家庭存储中心熬战世界杯,看球不垮脸,芳香世家世界杯熬夜护肤清单来了被认为是世界八大奇迹之一泰姬陵健脑大师课1信息虫和人们生活息息相关的神奇矿物质吉致汽车金融再度荣获最佳汽车金融公司称号(国际图文互动)综述马来西亚经济稳步复苏对华合作备受期待穿上花毛衣,时刻为新年做好准备宋小宝离婚11年他再婚生龙凤胎,后遭误诊,前妻霍晓红现状如何关税税目上新惠民生谋创新促开放

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找