首页 > 编程语言 >《悟透javascript》学习笔记:三、似类却不是类

《悟透javascript》学习笔记:三、似类却不是类

时间:2022-12-08 10:32:55浏览次数:42  
标签:body gill life age javascript 似类 笔记 say 属性


引言

 

JavaScript没有 “类”的概念!这让很多学习过高级语言的人感到很不爽,其实比之于C语言又如何呢?显然JavaScript要比C语言好用很多。

 

不废话,上代码

 

<script language="javascript">
/*一句句的看更容易明白*/
//声明一个对象,但它什么都没有
var life = {};
//任何时候可以随意地改变对象的属性或函数,life后直接接.age,它就有了age属性
for(life.age = 1; life.age <= 3; life.age++)
{
switch(life.age)
{
case 1: life.body = "卵细胞"; //age为1时,新增一个body属性并赋值
life.say = function(){alert(this.age+this.body)}; //新增say方法
break;
case 2: life.tail = "尾巴"; //新增tail属性
life.gill = "腮"; //新增gill属性
life.body = "蝌蚪"; //修改body属性的值,因为body在上面已经新增了,所以这里是修改
life.say = function(){alert(this.age+this.body+"-"+this.tail+","+this.gill)}; //修改say方法
break;
case 3: delete life.tail; //删除tail属性
delete life.gill; //删除gill属性
life.legs = "四条腿"; //新增legs属性并赋值
life.lung = "肺"; //新增lung属性并赋值
life.body = "青蛙"; //修改body属性值
life.say = function(){alert(this.age+this.body+"-"+this.legs+","+this.lung)}; //修改say方法
break;
};
life.say(); //调用say方法
}
</script>

 

通过上面的代码可以看到,虽然JavaScript没有类,但却同样可以用面向对象的思想来编写,而且更灵活,在JavaScript中这不叫“类”,我们称之为“对象”感觉更合适。

标签:body,gill,life,age,javascript,似类,笔记,say,属性
From: https://blog.51cto.com/u_15906220/5920661

相关文章

  • 再读《悟透javascript》之三、甘露模型
    前言     甘露模型是用于开发基于javascript的类库的,通过它,我们可以以类似C#等面向对象的语言式的模式来开发javascript类库,这将使你的javascript代码变得清晰有条理......
  • 「Note」《一些特殊的数论函数求和问题》学习笔记
    其实可以分成三个独立部分的,但是懒了所以全放一起。Min_25筛Meissel-Lehmer算法拟合平面曲线参考一些特殊的数论函数求和问题朱震霆国家集训队论文2018《一些特......
  • C++的语法 学习笔记1
    C++的语法学习笔记1  C++各种数据类型的默认值数值类型int/double/float/long0char'\0'string"\0"bool0,也就是false  数......
  • docker安装es和kibana, 解决No Living connections error 笔记
    转自:https://blog.csdn.net/weixin_43824526/article/details/1236412461.安装好docker2.安装es(elasticsearch的简写)和kibana,最好是版本一致dockerpullelasticsearch:7.......
  • JavaScript:代码细节和良好编码习惯
    这些细节,与语法无关,仅仅是编写代码时需要注意的最最基本的细节和一些良好编码习惯。注释代码注释代码分为单行注释和多行注释,如下所示:严格区分大小写JS的代码时严格区......
  • JavaScript:严格模式"use strict"
    因为历史遗留问题,JS其实存在很多feature,以及兼容性问题;所以JS在ES5之后,新增了一个严格模式,以区别于普通模式,用来激活新的特性,使得某些代码的执行准确无误;如何开启严格模......
  • JavaScript:是一种什么样的编程语言?
    有关JavaScript的发展历程,百度百科上已经说得很清楚了,这里不赘述,只是想谈一下我刚刚接触JS的一些感触。作为后端java开发者,初次学习JS的时候,真的觉得JS非常的不严谨,很混乱......
  • JavaScript:代码应该编写在哪里?
    我们可以将JS的代码,编写在三个地方。但是无论编写在哪里,最后它都会嵌入进网页代码中,被浏览器执行。编写在script标签中我们可以直接在HTML的script标签中,编写大段JS代码......
  • Docker学习笔记九:Docker数据卷知识【重要】
    介绍 目的数据卷(DataVolumes)是宿主机中的一个目录或文件,数据卷的设计目的就是数据的持久化,完全独立于容器的生存周期。一个数据卷可以被多个容器同时挂载,一个容器也......
  • Vue2(笔记25) - 脚手架 - render函数
    render 函数从错误提示开始打开项目入口文件:main.jsimportVuefrom'vue'importAppfrom'./App.vue'Vue.config.productionTip=falsenewVue({render:h=>h(App),......