当前位置: 首页 > 编程日记 > 正文

JavaScript 定义类时如何将方法提取出来

现在我们有一个海洋生物类

function marineLife(name,job,friend){this.name = name;this.job = job;this.friend = friend;this.introduceMyself = function(){console.log('大家好!我叫'+this.name+',我是一名'+this.job+',我最好的朋友是'+this.friend);}
}

让我们用这个类新建一个对象-海绵宝宝

let SpongeBob = new marineLife('SpongeBob','cooker','Patrick Star');
SpongeBob.introduceMyself();

他还介绍了自己

但是这样定义类的坏处是,每一次新建一个对象,都会有一个全新的函数 introduceMysel() 在里面。我们可以改成

function marineLife(name,job,friend){this.name = name;this.job = job;this.friend = friend;
}
marineLife.prototype.introduceMyself = function(){console.log('大家好!我叫'+this.name+',我是一名'+this.job+',我最好的朋友是'+this.friend);
}

之所以能够这么做是因为marineLife.prototype被所有的marineLife的实例共享,在任何时候访问marineLife的一个属性或者调用marineLife的某个方法,如果系统在marineLife的定义中没找到就会去marineLife.prototype中找。

这个性质使得我们能给对象添加定义之外的属性和方法。

相关文章:

错误:Error #2032解决方案

问题: Error #2032错误要访问外部数据,必须信任此文件。 现象: 要访问外部数据,必须信任此文件。 对于 PDF 文件,在 Adobe Reader 中,单击“Edit”(编辑)>“Preferences”&#…

[转]c# 泛类型(泛型) 以及强类型与弱类型的 理解及优化

[泛型的概念](1)没有泛型的时候,所有的对象都是以object为基础,如果要使用时必须进行强制类型转换,如果对于值类型,则会导致不断拆箱装箱的过程,对系统消耗很大。(2)使用…

docker宿主机访问docker容器服务失败

2019独角兽企业重金招聘Python工程师标准>>> 原因: 因为docker的虚拟ip网段是172.17.*。*与局域网的ip网段172.17冲突了,所以有两种方式: 解决方法: 一、 修改docker网卡信息,将网段改为与局域网不同的即可…

从变量地址到指针再到指针变量

标题中的3个概念:变量地址、指针and指针变量是依次出现的,逐个确定就可以明晰到底什么是我们常说的指针(其实是指针变量) 首先,变量在本质上是一段存储空间,既然是存储空间,就必有地址,一般每个字节有一个…

Lua bind 和 conf 实现

Lua ,语法简单(极像javascript), 移植性好(纯C实现), 启动速度快,空间占用小, 真不愧是潜入式脚本语言之王。 本人想拿它来做 配置文件(conf),也想加一点IoC, 就是配置脚本可以调用主程序的函数。 实现如下&#xff1…

通过反射执行get、set方法

Class clazz sourceObj.getClass(); 1、获取所有属性 BeanInfo beanInfo Introspector.getBeanInfo(clazz); PropertyDescriptor[] pds beanInfo.getPropertyDescriptors(); 2、获取指定属性 PropertyDescriptor pd new PropertyDescriptor(fieldName, clazz); Method getM…

h5 移动端 关于监测切换程序到后台或息屏事件和visibilitychange的使用

需求:当我们页面上正在播放视频或者播放背景音乐时,我们屏幕自动息屏或者切换程序去看消息时,我们希望暂停视频或背景音乐,回到程序我们希望继续播放视频或播放背景音乐。小程序上提供了 onUnload返回 onHide退出 onShow重新进入等…

一份整理 | PyTorch是什么,为何选择它

PyTorch是什么 PyTorch的特性 PyTorch是什么 PyTorch是一个基于Python的科学计算包,主要提供以下两种用途: 在GPU算力或其他加速器上作为NumPy的替代一个用于实现神经网络的自动求导库 PyTorch的特性 PyTorch的祖先是Chainer,HIPS autograd,twitter…

jquery实现心算练习

看看大家做完要多长时间&#xff0c;不能上传附近&#xff0c;就只得贴代码。代码如下&#xff1a; 代码 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">2 <htm…

C/C++利用三元组实现稀疏矩阵运算

三元组&#xff08;&#xff08;x&#xff0c;y&#xff09;&#xff0c;z&#xff09;其中&#xff08;x&#xff0c;y&#xff09;表示非零元位置&#xff0c;z表示该坐标的值 由于实际操作时&#xff0c;我们所用的矩阵0非常多&#xff0c;所以一个一个输入值很浪费时间&…

Database项目中关于Procedure sp_refreshsqlmodule_internal的错误

最近项目中发现一怪问题&#xff0c;使用DB项目发布数据库时&#xff0c;总提示 “(110,1): SQL72014: .Net SqlClient Data Provider: Msg 1222, Level 16, State 56, Procedure sp_refreshsqlmodule_internal, Line 67 Lock request time out period exceeded. An error occu…

脱离公式谈谈对反向传播算法的理解

机器学习的训练过程可看作是最优化问题的求解过程。 根据原理 对于函数f(x),如果f(x)在点xt附近是连续可微的&#xff0c;那么f(x)下降最快的方向是f(x)在xt点的梯度的反方向 得到最简单最常用的优化算法&#xff1a;梯度下降法(Gradient Descent Method)。 可以想见&#xf…

如何在Form中使用键弹性域(Key Flexfield)

在应用弹性域之前必须先定义弹性域&#xff0c;定义之前必须先注册表列。如果你的弹性域已经在Oracle Application Object Library中已经定义和注册了&#xff0c;并且弹性域表和列已经在数据库中存在&#xff0c;则忽略1、2、3步骤&#xff0c;适用于关键性也适用于描述性弹性…

什么是SOLID原则(第3部分)

让我们从最后一个 SOLID 原则开始吧&#xff0c;即依赖倒置原则&#xff08;Dependency Inversion Principle&#xff0c;简称 DIP&#xff09;&#xff08;不要和依赖注入Dependency Injection &#xff0c;DI 弄混淆了&#xff09;。这个原则所说的是高级模块不应该依赖具象的…

李彦宏,韩寒等入围本年度《时代百人》候选名单

美国《时代》杂志周六&#xff08;4月3日&#xff09;公布了2010年度 “百位全球最具影响力人物”的200名候选人名单,其中中国最大网络搜索公司“百度”总裁李彦宏也以成功企业家入围候选人,同时入围的还有年仅27岁的80后作家韩寒。 其它“全球最具影响力人物”候选人名单中还包…

win10如何查看NVIDIA驱动的版本

入口 输入&#xff1a;控制面板 选择&#xff1a;硬件和声音 选择NVIDIA控制面板 点击小房子图标 看到版本是391.25

vb中5种打开文件夹浏览框的方法总结(转)

代码 众所周知&#xff0c;在vb中如果是打开某一个文件的话&#xff0c;非常简单&#xff0c;使用CommonDialog组件即可轻松完成&#xff0c;但是他只能选择文件&#xff0c;之后或许选取的文件路径&#xff0c;而如果想要浏览文件夹&#xff0c;就没这么方便了。这里介绍3个办…

R语言文摘:Subsetting Data

原文地址&#xff1a;https://www.statmethods.net/management/subset.html R has powerful indexing features for accessing object elements. These features can be used to select and exclude variables and observations. The following code snippets demonstrate ways…

Ubuntu系统

1. Ubuntu 14.04 LTS安装 直接从官网下载Ubuntu14.04.2LTS http://www.ubuntu.com/download/desktop (你也可以下载最新的14.10---据说改变不大) 个人采用的是U盘安装,用了UltraISO这款软件(百度软件中心中便有---可以不破解试用来完成目的):具体流程: UltraISO上端文件打开,将…

win10下Anaconda如何查看PyTorch版本

以管理员身份打开Anaconda Powershell Prompt 按顺序输入以下三行命令即可

6年iOS开发程序员总结组件化—让你的项目一步到位

纯个人学习笔记分享, 不喜勿喷,自行取关! 技术不缺乏缔造者,网络不缺乏键盘侠,但缺乏分享技术的源动力! 近几年组件化大家吵的沸沸扬扬的&#xff0c;它其实也不是什么黄金圣衣&#xff0c;穿上立马让你的小宇宙提升几个档次&#xff0c;也不是海皇的三叉戟&#xff0c;入手就能…

处理问题的方法--抽象和特例化

事实上我们在软件开发的过程中总是&#xff1a;遇到问题&#xff0c;解决问题&#xff0c;这么一个 简单的过程。处理一般类似问题的时候&#xff0c;我们经过抽象&#xff0c;有的提取算法&#xff0c;有的提取结构&#xff0c;有的提取流程等等&#xff0c;这样的过程可以简单…

121-Best Time to Buy and Sell Stock

题目&#xff1a; Say you have an array for which the ith element is the price of a given stock on day i. If you were only permitted to complete at most one transaction (ie, buy one and sell one share of the stock), design an algorithm to find the maximum p…

控制行输入以下两句命令16倍速播放青年大学习

//得到视频标签 playRate document.getElementsByTagName(video); //改变播放速率 playRate.Bvideo.playbackRate 16;

ios 8+ (xcode 6.0 +)应用程序Ad Hoc 发布前多设备测试流程详解

我们开发的程序在经过simulator以及自己的iOS设备测试后&#xff0c;也基本完成应用程序了&#xff0c;这时候我们就可以把它发布出去了更更多的人去测试&#xff0c;我们可以在iOS平台使用ad hoc实现。 你在苹果购买的开发者会员账号&#xff0c;允许100台设备和你的账号关联。…

SHELL训练营--day5__shell脚本(1)

shell脚本意义 shell是一种脚本语言&#xff0c;具备计算机语言的基本特点&#xff1a;逻辑判断、循环、自定义函数等。shell脚本 主要使用 linux系统的命令&#xff0c;来实现特定目的。可用于自动化运维&#xff0c;提长运维效率。 shell脚本基本结构和运行方法 shell脚本名字…

让程序主窗口不显示在任务栏中

// 这样一句就能搞定了 在Form创建是调用 procedure TfrmWaitWindow.FormCreate(Sender: TObject); begin SetWindowLong(Application.Handle,GWL_EXSTYLE,WS_EX_TOOLWINDOW); end; 相关方法1 Application.Initialize; Application.CreateForm(TForm1, Form1); Application.S…

查缺补漏 | Python控制结构

1. if 表达式的简介写法 x if E else y 意思是如果条件表达式E成立&#xff0c;执行x&#xff0c;否则执行y 等价于 if E&#xff1a;x else:y 2. Python的while循环和其他语言相似(只是少了大括号)&#xff0c;但是for循环区别大很多 for iter_var in iterable_object: sui…

Android学习——R文件丢失异常原因汇总

Console报错&#xff1a;R.java was modified manually! Reverting to generated version! 引言: R文件丢失异常在java开发中是个比较常见的异常&#xff0c;造成这个异常的原因可能非常微小&#xff0c;但是给Android开发者们造成的麻烦可是巨大的&#xff0c;当程序员们费尽千…

举个栗子看如何做MySQL 内核深度优化

2019独角兽企业重金招聘Python工程师标准>>> 本文由云社区发表 作者介绍&#xff1a;简怀兵&#xff0c;腾讯云数据库高级工程师&#xff0c;负责腾讯云CDB内核及基础设施建设&#xff1b;先后供职于Thomson Reuters和YY等公司&#xff0c;PTimeDB作者&#xff0c;曾…