prototype

定义和用法
prototype 属性使您有能力向对象添加属性和方法。

语法

object.prototype = {函数名 : function(){}
}
object.prototype.name=value

javaScript的中类和对象

  1. 定义类

    
    例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的调用方式,不懂
  2. 定义对象,调用时使用对象.方法或者和java调用map的方式一样对象['方法名'](args)

    
    例2:
    //定义对象
    var people = {run : function(){alert("I can run");}
    };
    //调用
    people.run();//输出 I can run
    people['run']();//同上
  3. 以上两种方式不能同时使用

Javascript的方法可以分为三类

  1. 类方法,如例1
  2. 对象方法,如例2
  3. 原型方法,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(); 

总结:

  1. javaScript创建对象就是定义函数
  2. javaScript对象定义方法和属性有三种方式

    • 在函数内部定义方法和属性,类似java的定义,如例1
    • 使用函数名.prototype定义方法和属性,例3
    • 使用对象定义方法和属性
  3. 使用prototype定义属性时,要放在定义方法的后面,不然属性会是undefined

  4. 使用javascript定义属性,不像java那么严谨,在实例经对象后,也可以定义属性
  5. 使用prototype和函数内部定义方法和属性,其作用是一样的,都需要实例化函数后才可使用
  6. 直接使用函数名定义方法和属性,类似java的静态该当和变量,如:
   function scriptBean(){}//定义方法scriptBean.sayHello = function(msg){console.log(this.name + " say : " +msg);}//定义属性scriptBean.name = "scriptBean";//调用scriptBean.sayHello("hello");

javascript 定义对象、方法和属性的使用方法(prototype)相关推荐

  1. javascript定义对象写法(个人整理)

    javascript定义对象的几种简单方法 1.构造函数方式,全部属性及对象的方法都放在构造方法里面定义 优点:动态的传递参数 缺点:每创建一个对象就会创建相同的方法函数对象,占用大量内存 funct ...

  2. java定义一个类计算圆的半径,C++编程:定义一个圆类要求属性为半径,操作为计算圆的周长和面积...,java编程:定义一个圆类,属性为半径,方法为对输入的半径计...

    导航:网站首页 > C++编程:定义一个圆类要求属性为半径,操作为计算圆的周长和面积...,java编程:定义一个圆类,属性为半径,方法为对输入的半径计 C++编程:定义一个圆类要求属性为半径, ...

  3. javascript删除对象上的属性

    任务 删除 age 属性 let obj = { name: 'xiaoming', age: 11, id: 2} 解决 方法1: 对象的解构 let {age, ...rest} = obj co ...

  4. javascript 数组对象根据相同属性值{key:value}合并两个对象

    前言 js 数组对象的合并,方便自己后续使用与学习,废话少说,这段代码的功能就是根据某个相同的value值合并两个数组对象 比如:根据相同的hotelId来合并 一 , 数组对象根据相同属性值合并两个 ...

  5. python-类的继承和多态-继承父类方法和属性的多种方法-继承多个类,继承顺序的研究

    一.Reference Python interview - override & overload_加藤蜀黍的博客-CSDN博客 Python:类的继承,调用父类的属性和方法基础详解_奥卡姆 ...

  6. javascript:document对象的常用属性和方法

    属性 意义 anchors[]               anchors对象数组,每一个都代表文档中出现的一个锚地 applets[]                applet对象数组,代表文档中 ...

  7. JavaScript删除对象的某个属性的方法

    1.delete delete是删除对象的属性没有任何剩菜,剩下的唯一真正的方法,但它的工作比其"替代"设置慢100倍 object[key] = undefined var my ...

  8. JavaScript数组对象教程–如何使用JS数组方法创建,更新和遍历对象

    On average I work with JSON data 18 times a week. And I still need to google for specific ways to ma ...

  9. JavaScript中将对象按照某个属性排序

    一直没弄明白 a[value]这种访问对象属性的方式--今天懂了 可以通过点语法来存取,比如obj.name指的是访问obj对象上的name属性,但是此时对象上要有这个name属性,否则访问到的就是u ...

  10. JavaScript删除对象中某个属性——delete

    var myObject = {"ircEvent": "1","method": "2","regex&qu ...

最新文章

  1. 安装brew提示/usr/local/bin is not in your PATH.
  2. 学会这些你就是Android 开发高手了!
  3. 撰写科研海报(poster)的必看技巧
  4. 【经典问题】maximum subset sum of vectors
  5. 大数据架构如何做到流批一体?【对于Flink等流批一体的概念做了很好的澄清!】
  6. asp.net HttpHand和HttpModule的详细解释,包括Asp.Net对Http请求的处理流程。
  7. ubuntu17.04 调试系统工具bcc,systamtap安装
  8. 上一家单位离职的原因_面试官:你为什么从上一家公司离职?小伙更换答案后,立马被录取...
  9. vs2005配置c语言连接mysql
  10. ASP.NET前端解决方案之一:Ext.Net入门随笔1
  11. Python实现好友管理系统
  12. 【人工智能 一种现代方法】搜索-复习
  13. FastDFS实现原理及流程
  14. 保持简单:纪念丹尼斯·里奇
  15. c语言间接寻址运算符,间接寻址运算符:*
  16. 白鹭引擎 android9,【安卓】手把手教你Egret引擎一键发布华为快游戏
  17. 干货▍全网通俗易懂的数据竞赛大杀器XGBoost 算法详解
  18. 推荐 8 个超实用的谷歌 Chrome 插件,大牛都在用
  19. 杨然茹(帮别人名字作诗)
  20. 已知由单链表表示的线性表中含有三类字符(数字,字母和其他字符)试编写算法来构造三个循环链表,使每个表中只含某一类字符,且利用原表中的结点空间作为这三个表的结点空间,头结点可另辟空间。

热门文章

  1. iis 域名无法访问
  2. 关于计算机教育的图表,计算机教育箭头环形图表PPT模版.ppt
  3. 基于聚合数据的移动联通基站API接口的php完整代码实例
  4. 入门必看,51单片机学习三步走
  5. web前端入门到实战:CSS3中width值为max/min-content及fit-content的理解
  6. 竞品分析 | 荔枝VS喜马拉雅FM:有声音频APP的发展与社交
  7. windows server2012 R2 离线中文语言包下载与安装
  8. android桌面,Android Q带来全新桌面模式
  9. 服务器如何装linux 系统教程,教程/操作系统 手把手教你装Linux系统
  10. 解决BT5不能上网的问题