关于javascript中静态成员和实例成员的详细解释

关于javascript中静态成员和实例成员的详细解释 

在我们了解什么是静态成员和实例成员之前,我们首先来了解一下什么是实例?

实例就是由构造函数创建出来的对象。

例如案例中 p 就是实例:

function Person() {}//  此函数为构造函数

var p=new Person();  // p为构造函数创建出来的对象

我们在讨论静态成员和实例成员时候,把函数当成构造函数, 把创建出来的对象称之为实例。在此明白了什么是实例,下面我们就可以说什么是静态  成员和实例成员了。

首先什么是实例成员?

实例成员:由构造函数创建出来的对象能直接访问的属性和方法,包括:对象本身 以及原型中的所有的属性和方法。

案例如下: function Person(name, age) {

this.name = name;

this.age = age;

}

Person.prototype.sayHi = function() {

console.log("hello, rose");

};

var p = new Person("jack", 19);

( p.name  p.age  p.sayHi)  括号内三个就是实例成员了。

再次什么是静态成员?

 静态成员:由构造函数直接访问到的属性和方法。大家注意是直接访问的属性和方法,间接获取就不是了。

案例如下: function Person(name, age) {

this.name = name;

this.age = age;

}

var p = new Person("jack", 19);

Person.say = function() {    alert("这是静态方法");            };

Person.say  就是静态成员

Person.length  也是静态成员,因为length是函数中的 方法,是来直接获取函数中形参的个数。

接下来会有人问,在实际工作中有什么用?我个人认为工作中用到的机会不多,有人会说工作中既然用的不多,  干嘛还废那么话来说,但是对于我们看Jquery源码是有用处的。

jQuery 的 each方法就是给静态成员实现这个方法,然后实例成员直接调用这个方法(大多数框架中都是使用该方法) 。

所有有了两种使用方式:

$.each("div",function(){})

$("div").each(function(){})

时间: 2024-10-11 00:16:48

关于javascript中静态成员和实例成员的详细解释的相关文章

JavaScript 中 Date 对象 getFullYear()方法的详细解释

getFullYear()函数用于使用当地时间返回当前Date对象中的年份值.也就是"年月日"中"年"的数值.例如:2013年7月15日,就返回2013:公元前123年5月12日,就返回-123. 该函数属于Date对象,所有主流浏览器均支持该函数. 语法 date.getFullYear( )getFullYear()函数的返回值为Number类型,返回当前Date对象的年份值 示例&说明 // 定义一个"2013-07-21"的Dat

c# 静态成员和实例成员的区别

静态成员也称为共享成员,例如静态属性 静态字段 静态方法:静态成员可以在类的实例之间共享. 静态类中只能有静态成员,不能有实例成员,因为静态类不能进行实例化: 在非静态类中 即可以有静态成员 也可以有非静态成员: 只要是静态成员 属性 字段 方法,都需要用类名去调用: 静态成员和实例成员的区别: 静态成员需要通过static修饰,非静态成员不需要通过static修饰: 静态成员属于类,可以直接通过"类名.静态成员"的方式访问: 非静态成员,必须实例化对象后,通过对象.实例成员来访问;

2017-9-20C#笔记(类,访问修饰符以及访问性,静态成员和实例成员,字段,Main方法,常量,对象的创建,类的属性)

软件开发的两种主要的方式为面向对象和面向过程,面向过程的焦点主要放在指令的组合和优化上,面向对象的焦点从指令转移到组织程序的数据和功能上. 类 程序的数据和功能被组织为逻辑上相关的数据项和函数的封装集合,称之为类.类作为一个有机的不可分割的整体,对外隐藏具体实现细节,从而实现可重用和易维护等特性,同时还提供了继承功能,支持子类获得父类特征. 类是一个能存储数据并执行代码的数据结构,是逻辑相关的数据和函数的封装,通常代表真实世界中的或概念上的事物. 类包括以下内容: (1) 数据成员:数据成员用来

静态类、静态方法、静态成员和实例成员的比较

任何项目中都会使用到静态类.静态方法.静态成员和实例成员了.那么这几个名词到底有哪些区别呢? 1.静态成员和实例成员 静态成员:静态成员通常和类是相关联的.它可以作为类中公有的变量,不依赖特定对象的存在.通常我们在访问它们的时候很简单,直接通过类名加点操作符再加变量名来进行操作. 实例成员:实例成员通过和对象是相关联的.一般情况下,我们都是对类的实例化来进行访问操作.如果实例不存在,那么也就无法访问实例成员对象. 所以实例成员的存在必须要有对象实例的存在,如果对象实例都不存在了,那么就将无法访问

了解javascript中的this --实例篇

对javascript this的赋值有了深一层的理解后,看一下比较复杂的情况,this的应用篇参考<对javascript this的理解>. #demo1 1 var name="window"; 2 var object = { 3 name:"me", 4 getname:(function(){ 5 alert(this.name);//window,加载即执行 6 return function(){ 7 return this.name;

228 静态成员和实例成员

1.2.1 实例成员 实例成员就是构造函数内部通过this添加的成员 如下列代码中uname age sing 就是实例成员,实例成员只能通过实例化的对象来访问 function Star(uname, age) { this.uname = uname; this.age = age; this.sing = function() { console.log('我会唱歌'); } } var ldh = new Star('刘德华', 18); console.log(ldh.uname);/

C++中类的静态成员与实例成员的区别

在C++类中,由static定义的(静态)数据成员 和 (静态)函数成员属于类:相反没有被static定义的成员和函数称为实例数据成员和实例函数成员,他们属于某一个实例(对象). 在内存中,类的静态数据成员占有一块特定的内存空间,被该类的所有实例(对象)共享.而同一个类的不同对象的实例数据成员相互独立,占有各自的存储空间. 定义类后,必须在类外的文件作用域中定义静态数据成员,即为它们分配存储空间. 在程序中可以直接使用类名和域解析操作符::直接访问类的共有静态数据成员和共有函数成员,不能直接访问

14、类的静态成员和实例成员

默认为实例成员,static为静态成员 实例成员只能在实例化的时候用 静态成员只能被类访问 如图所示,类只能访问到静态成员,不能访问到实例成员 如图所示,实例化后能够访问到实例成员,不能访问到静态成员 原文地址:https://www.cnblogs.com/hihi-jing/p/9532960.html

javascript中ajax post实例详解

一,原生态的XMLHttpRequest 代码如下 复制代码 <script language="javascript">         function saveintroduce()    {    //获取接受返回信息层    var introducemsg = document.getElementById("introducemsg");    //获取表单对象和用户信息值    var f = document.introduceedt;