JS中类方法、对象方法、原型方法

1、对象方法:包括构造函数中的方法以及构造函数原型上面的方法;
2、类方法:其实这里的类就是一个函数。在js中由于函数也是一个对象,所以可以为函数添加属性以及方法,这种方法在node中用的比较多;
3、原型方法:一般用于对象实例共享,在原型上面添加该方法,就能实现共享。这样就不用每一次初始化一个实例的时候,为其分配相应的内存了。
Javascript中的function作为构造函数时,就是一个类,搭配上new操作符,可以返回一个对象。

function People(name){
    this.name=name;
    //对象方法
    this.Introduce=function(){
        alert("My name is "+this.name);
    }
}
//类方法
People.Run=function(){
    alert("I can run");
}
//原型方法
People.prototype.IntroduceChinese=function(){
    alert("我的名字是"+this.name);
}  

//测试
var p1=new People("Windking");
p1.Introduce();        //对象方法需要通过实例化对象去调用
People.Run();          //类方法不需要通过实例化对象去调用
p1.IntroduceChinese(); //原型方法也需要通过实例化对象去调用

  

时间: 2024-11-02 22:51:37

JS中类方法、对象方法、原型方法的相关文章

JS内置对象的原型不能重定义?只能动态添加属性或方法?

昨天马上就快下班了,坐在我对面的同事突然问我一个问题,我说“爱过”,哈哈,开个玩笑.情况是这样的,他发现JS的内置对象的原型好像不能通过字面量对象的形式进行覆盖, 只能动态的为内置对象的原型添加属性或方法,下面那个具体的例子说明: var arr=[]; Array.prototype={ push:function(){ alert("1"); } }; arr.push(); //没有任何输出 有人可能会说了“你先定义的arr,后来又修改了Array.prototype,这时Arr

Js中找任意对象的原型方法及改造原型

Java中有运行时类型识别,js可以很方便的模仿这个特性,因为所有js对象都有一个属性constructor(构造器),表示这个对象的构造方法,原型与构造方法同名,所以可以通过这儿知道任意对象的原型名称.具体可以看代码(这里简单的封装了): function runToChain(obj){ var chainName=obj.constructor.name; return chainName; } 知道对象原型后,可以通过原型的prototype属性为原型添加可改造属性和方法,改造原型.

JS数组与对象的遍历方法大全

本文简单解析各种数组和对象属性的遍历方法: 原生for循环.for-in及forEach ES6 for-of方法遍历类数组集合 Object.key()返回键名的集合 jQuery的$.each() underscore的_.each() 文中的范例基于以下数组和对象. ? 1 2 3 4 5 6 7 8 var arrTmp = ["value1","value2","value3"]; var objTmp = {     aa:"

js中判断对象数据类型的方法

1.类型定义 JS是一种弱类型语言.JS拥有动态类型,相同的变量可以用作不同的类型.JS有7种数据类型:三种基本类型(数字,字符串,布尔),两种引用数据类型(对象,数组),两种特殊数据类型(undefined,null). JS有5种原始类型:数字,字符串,布尔,undefined,null. 2.类型判断 对js中不同数据的布尔值类型总结:false:空字符串:null:undefined:0:NaN.true:除了上面的false的情况其他都为true: 如下: var o = { 'nam

js中Window 对象及其的方法

window.location 对象 window.location 对象用于获得当前页面的地址 (URL),并把浏览器重定向到新的页面.window.location 对象在编写时可不使用 window 这个前缀. location.hostname 返回 web 主机的域名 location.pathname 返回当前页面的路径和文件名 location.port 返回 web 主机的端口 (80 或 443) location.protocol 返回所使用的 web 协议(http://

js中的对象、原型链机制、构造函数

一.在js中创建对象的方式 //一.字面量或直接量创建对象 var obj1 = { name:"zs", age:12 }; //二.通过new来创建对象 var obj2 = new Object(); obj2.name = "zs"; obj2.age = 16; //三.通过工厂函数来创建 function creatObj() { return {}; } //四.通过new 构造函数来创建 function Obj() { } //测试 var obj

JS 创建自定义对象的方式方法

一.概述 还记得刚开始做项目的时候,看到别人封装的js工具类百思不得其解,看来看去看不懂,深挖一下,其实就是自己没有耐下心去看,但是遇到问题不解决,总会遇到的,今天还是遇到了,就去找了找帖子,重新思考与实践一下,豁然开朗~!在此记录一下迟来顿开的茅塞. 关于JS 对象,啊,对象么,不就是一个个实例么,是的,js 也可以创建类,创建对象,创建对象方法,我们今天就具体说一下. 二.创建与使用(开始) es 标准给我们提供了String.Math.Array等等这些js对象,当我们使用的时候只需要ne

js中数组对象去重的方法

var arr = [{ key: '01', value: '乐乐' }, { key: '02', value: '博博' }, { key: '03', value: '淘淘' },{ key: '04', value: '哈哈' },{ key: '01', value: '乐乐' }]; // 方法1:利用对象访问属性的方法,判断对象中是否存在key var result = []; var obj = {}; for(var i =0; i<arr.length; i++){ if(

JS中string对象的一些方法

原文地址:  http://www.dreamdu.com/javascript/object_string/ string.slice(startPos,endPos)---返回被截取的字符串.注:此函数同样可以操作数组,原理相同. slice函数参数 startPos -- 返回字符串的开始位置(取负数是,从字符串的末尾开始计算.也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推.) endPos -- 可选参数,返回字符串的结束位置,如果无此参数为字符串的结尾(取负数是,从字

java.lang.reflect.Method.getAnnotation()方法示例【通过反射获取到方法对象再获取方法对象上的注解信息】

转: java.lang.reflect.Method.getAnnotation()方法示例 java.lang.reflect.Method.getAnnotation(Class <T> annotationClass)方法如果存在这样的注释,则返回指定类型的元素的注释,否则为null. 声明 以下是java.lang.reflect.Method.getAnnotation(Class <T> annotationClass)方法的声明. public <T exte