Js中关于内部方法、实例方法、原型方法、静态方法的个人见解。

function foo(name){
    this.name=name;
    // 实例方法
    this.GetName=function(){
        console.log("my name is "+name);
        GetId();
    }
    // 内部方法
    var GetId = function(){
        console.log("I have no id..");
    }
}

// 类方法
foo.SayHi=function(){
    console.log("hi!");
}

// 原型方法
foo.prototype.SayBye=function(){
    console.log("bye!");
}

//测试
var xiaoming= new foo("xiaoming");
xiaoming.GetName();// 实例方法只能实例调用,内部方法只能被内部的方法调用
foo.SayHi();//静态方法只能被类调用
xiaoming.SayBye();//原型方法只能被实例调用

ES6------------------------------------------------------------------

https://www.runoob.com/w3cnote/es6-class.html

静态方法

class Example{ static sum(a, b) { console.log(a+b); } }                             Example.sum(1, 2); // 3

原型方法

class Example { sum(a, b) { console.log(a + b); } }                                   let exam = new Example(); exam.sum(1, 2); // 3

实例方法

class Example { constructor() { this.sum = (a, b) => { console.log(a + b); } } }

原文地址:https://www.cnblogs.com/hlyin/p/12165047.html

时间: 2024-10-04 15:54:48

Js中关于内部方法、实例方法、原型方法、静态方法的个人见解。的相关文章

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

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

js中test,exec和match方法

js中test,exec和match方法 转载▼ 标签: 杂谈 分类: jsp test test 返回 Boolean,查找对应的字符串中是否存在模式. var str = "1a1b1c";var reg = new RegExp("1.", "");alert(reg.test(str)); // true exec exec 查找并返回当前的匹配结果,并以数组的形式返回. var str = "1a1b1c";var

js中数组去重的几种方法

js中数组去重的几种方法         1.遍历数组,一一比较,比较到相同的就删除后面的                 function unique(arr){                         for(var i=0;i<arr.length;i++){                                 for(var j=i+1;j<arr.length;j++){                                         if(ar

js中style.display=&quot;&quot;无效的解决方法

本文实例讲述了js中style.display=""无效的解决方法.分享给大家供大家参考.具体解决方法如下: 一.问题描述: 在js中我们有时想动态的控制一个div显示或隐藏或更多的操作,但如果我们style.display=""可能导致没有效果. 看下面一段代码: 复制代码代码如下: <style> #name {     display:none; }</style></head><body><div id=

js中的子类继承父类的方法和属性

上次讲了个简单的继承,这次 咱们讲个稍微复杂点的,那就是让子类继承父类的属性和方法,假设人 (Person)是父类,工人(Worker)是子类,让worker继承person的属性和方法: 父类: function Person(name,age) { this.name=name; this.age=age; } Person.prototype.showName=function() { alert(this.name); } function worker(name,age,job) {

JS中的call()方法和apply()方法用法总结

JS中的call()方法和apply()方法用法总结  : 参考   :     https://blog.csdn.net/ganyingxie123456/article/details/70855586 原文地址:https://www.cnblogs.com/wfblog/p/9169026.html

JS 中深拷贝的几种实现方法

JS 中深拷贝的几种实现方法1.使用递归的方式实现深拷贝 //使用递归的方式实现数组.对象的深拷贝 function deepClone1(obj) { //判断拷贝的要进行深拷贝的是数组还是对象,是数组的话进行数组拷贝,对象的话进行对象拷贝 var objClone = Array.isArray(obj) ? [] : {}; //进行深拷贝的不能为空,并且是对象或者是 if (obj && typeof obj === "object") { for (key i

判断js中的数据类型的几种方法

判断js中的数据类型有一下几种方法:typeof.instanceof. constructor. prototype. $.type()/jquery.type(),接下来主要比较一下这几种方法的异同. 先举几个例子: 1 var a = "iamstring."; 2 var b = 222; 3 var c= [1,2,3]; 4 var d = new Date(); 5 var e = function(){alert(111);}; 6 var f = function()

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

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