javascript 定义对象、方法和属性的使用方法(prototype)
prototype
定义和用法
prototype 属性使您有能力向对象添加属性和方法。
语法
object.prototype = {函数名 : function(){}
}
object.prototype.name=value
javaScript的中类和对象
定义类
例1: //第一种定义方式 var people = function(name){this.name = name;this.say = function(msg){alert(this.name + " say : " +msg);} } //第二种定义方式 function people(name) {this.name = name;this.init = function(msg){alert(this.name + " say : " +msg);;} } //调用 var people = new people("I"); people.init("hello");//输出:I say hello
//定义静态方法,接例1 people.says = function(msg){alert(this.name + " say : " +msg); } people.aa = "aa"; //调用 people.inits("hellos");//I say Hellos alert(people.aa);//aa //这种定义方式无法使用map的调用方式,不懂
定义对象,调用时使用
对象.方法
或者和java
调用map的方式一样对象['方法名'](args)
例2: //定义对象 var people = {run : function(){alert("I can run");} }; //调用 people.run();//输出 I can run people['run']();//同上
- 以上两种方式不能同时使用
Javascript的方法可以分为三类
- 类方法,如例1
- 对象方法,如例2
原型方法,
prototype
例3: //定义类 var people = function(name){this.name = name; } //原型方法 people.prototype = {introduceChinese : function(){alert(this.people +"的名字是"+this.name);}people; };//测试var p1=new people("Windking"); p1.people = '谁'; p1.IntroduceChinese();
总结:
- javaScript创建对象就是定义函数
javaScript对象定义方法和属性有三种方式
- 在函数内部定义方法和属性,类似java的定义,如例1
- 使用函数名.prototype定义方法和属性,例3
- 使用对象定义方法和属性
使用prototype定义属性时,要放在定义方法的后面,不然属性会是
undefined
- 使用javascript定义属性,不像java那么严谨,在实例经对象后,也可以定义属性
- 使用prototype和函数内部定义方法和属性,其作用是一样的,都需要实例化函数后才可使用
- 直接使用函数名定义方法和属性,类似java的静态该当和变量,如:
function scriptBean(){}//定义方法scriptBean.sayHello = function(msg){console.log(this.name + " say : " +msg);}//定义属性scriptBean.name = "scriptBean";//调用scriptBean.sayHello("hello");
javascript 定义对象、方法和属性的使用方法(prototype)相关推荐
- javascript定义对象写法(个人整理)
javascript定义对象的几种简单方法 1.构造函数方式,全部属性及对象的方法都放在构造方法里面定义 优点:动态的传递参数 缺点:每创建一个对象就会创建相同的方法函数对象,占用大量内存 funct ...
- java定义一个类计算圆的半径,C++编程:定义一个圆类要求属性为半径,操作为计算圆的周长和面积...,java编程:定义一个圆类,属性为半径,方法为对输入的半径计...
导航:网站首页 > C++编程:定义一个圆类要求属性为半径,操作为计算圆的周长和面积...,java编程:定义一个圆类,属性为半径,方法为对输入的半径计 C++编程:定义一个圆类要求属性为半径, ...
- javascript删除对象上的属性
任务 删除 age 属性 let obj = { name: 'xiaoming', age: 11, id: 2} 解决 方法1: 对象的解构 let {age, ...rest} = obj co ...
- javascript 数组对象根据相同属性值{key:value}合并两个对象
前言 js 数组对象的合并,方便自己后续使用与学习,废话少说,这段代码的功能就是根据某个相同的value值合并两个数组对象 比如:根据相同的hotelId来合并 一 , 数组对象根据相同属性值合并两个 ...
- python-类的继承和多态-继承父类方法和属性的多种方法-继承多个类,继承顺序的研究
一.Reference Python interview - override & overload_加藤蜀黍的博客-CSDN博客 Python:类的继承,调用父类的属性和方法基础详解_奥卡姆 ...
- javascript:document对象的常用属性和方法
属性 意义 anchors[] anchors对象数组,每一个都代表文档中出现的一个锚地 applets[] applet对象数组,代表文档中 ...
- JavaScript删除对象的某个属性的方法
1.delete delete是删除对象的属性没有任何剩菜,剩下的唯一真正的方法,但它的工作比其"替代"设置慢100倍 object[key] = undefined var my ...
- JavaScript数组对象教程–如何使用JS数组方法创建,更新和遍历对象
On average I work with JSON data 18 times a week. And I still need to google for specific ways to ma ...
- JavaScript中将对象按照某个属性排序
一直没弄明白 a[value]这种访问对象属性的方式--今天懂了 可以通过点语法来存取,比如obj.name指的是访问obj对象上的name属性,但是此时对象上要有这个name属性,否则访问到的就是u ...
- JavaScript删除对象中某个属性——delete
var myObject = {"ircEvent": "1","method": "2","regex&qu ...
最新文章
- 安装brew提示/usr/local/bin is not in your PATH.
- 学会这些你就是Android 开发高手了!
- 撰写科研海报(poster)的必看技巧
- 【经典问题】maximum subset sum of vectors
- 大数据架构如何做到流批一体?【对于Flink等流批一体的概念做了很好的澄清!】
- asp.net HttpHand和HttpModule的详细解释,包括Asp.Net对Http请求的处理流程。
- ubuntu17.04 调试系统工具bcc,systamtap安装
- 上一家单位离职的原因_面试官:你为什么从上一家公司离职?小伙更换答案后,立马被录取...
- vs2005配置c语言连接mysql
- ASP.NET前端解决方案之一:Ext.Net入门随笔1
- Python实现好友管理系统
- 【人工智能 一种现代方法】搜索-复习
- FastDFS实现原理及流程
- 保持简单:纪念丹尼斯·里奇
- c语言间接寻址运算符,间接寻址运算符:*
- 白鹭引擎 android9,【安卓】手把手教你Egret引擎一键发布华为快游戏
- 干货▍全网通俗易懂的数据竞赛大杀器XGBoost 算法详解
- 推荐 8 个超实用的谷歌 Chrome 插件,大牛都在用
- 杨然茹(帮别人名字作诗)
- 已知由单链表表示的线性表中含有三类字符(数字,字母和其他字符)试编写算法来构造三个循环链表,使每个表中只含某一类字符,且利用原表中的结点空间作为这三个表的结点空间,头结点可另辟空间。
热门文章
- iis 域名无法访问
- 关于计算机教育的图表,计算机教育箭头环形图表PPT模版.ppt
- 基于聚合数据的移动联通基站API接口的php完整代码实例
- 入门必看,51单片机学习三步走
- web前端入门到实战:CSS3中width值为max/min-content及fit-content的理解
- 竞品分析 | 荔枝VS喜马拉雅FM:有声音频APP的发展与社交
- windows server2012 R2 离线中文语言包下载与安装
- android桌面,Android Q带来全新桌面模式
- 服务器如何装linux 系统教程,教程/操作系统 手把手教你装Linux系统
- 解决BT5不能上网的问题