Javascript 构造函数,公有,私有特权和静态成员定义方法
//构造函数
function myClass(message)
{
//公有属性
this.myMessage = message;
//私有属性
var _separator = ' -';
var _myOwner = this;
//私有方法
function showMessage()
{
alert(_myOwner.myMessage);
}
//特权方法(也是公有方法)
this.appendToMessage = function(appendMessage)
{
this.myMessage += _separator + appendMessage;
showMessage();
}
}
//公有方法
myClass.prototype.clearMessage = function()
{
this.myMessage = '';
}
myClass.prototype = {
clearMessage:function(){
this.myMessage = '';
}
}
//静态属性
myClass.myName = 'SOBusiness';
//静态方法
myClass.alertName = function()
{
alert(this.name);
}
注:其中公有方法声明的部分采用的两种方式,在实际应用中一般采取一种方式就可以了,如果两种方式都要采用的话,应注意顺序,防止前面写的方法被清空或覆盖。
相关推荐
-
深入理解Javascript动态方法调用与参数修改的问题
Javascript中可以对所传参数在函数内进行修改,如下 复制代码 代码如下: function func1(name) { name = 'lily'; alert(name); } func1('jack');//输出lily 再看一个例子 复制代码 代码如下: function fun1(n) { this.name = n; } function fun2(name) { fun1.call(this,'lily'); alert(name);
-
深入理解javascript构造函数和原型对象
常用的几种对象创建模式 使用new关键字创建 最基础的对象创建方式,无非就是和其他多数语言一样说的一样:没对象,你new一个呀! var gf = new Object(); gf.name = "tangwei"; gf.bar = "c++"; gf.sayWhat = function() { console.log(this.name + "said:love you forever"); } 使用字面量创建 这样似乎妥妥的了,但是宅寂的
-
javascript iframe内的函数调用实现方法
sxmsxm.html 复制代码 代码如下: <script> function sonfun() { alert('ok'); } </script> main.html 复制代码 代码如下: <iframe id="sxm" src="sxmsxm.html" width='100' height='100'></iframe> 在main.html中执行 sxmsxm.html中的sonfun() 有两种方式 1
-
跟我学习javascript的函数调用和构造函数调用
一.函数调用 Function绝对是JavaScript中的重中之重.在JavaScript中,Function承担了procedures, methods, constructors甚至是classes以及modules的功能. 在面向对象程序设计中,functions,methods以及class constructor往往是三件不同的事情,由不同的语法来实现.但是在JavaScript中,这三个概念都由function来实现,通过三种不同的模式. 最简单的使用模式就是function 调用
-
不用构造函数(Constructor)new关键字也能实现JavaScript的面向对象
JavaScript中的对象模型(object model)并不广为人知.我曾写过一篇关于他们的博客.之所以不被人所熟知,原因之一就是JavaScript是这些被人广泛使用的语言中唯一一个通过原型(prototype)来实现继承的.但是,我认为另一个原因就是这种对象模型非常复杂,难于解释.它为什么这么复杂并且又令人困惑呢?那是因为JavaScript试图去隐藏它传统的面向对象的特性--最终导致了它的双重人格(译者注:作者意思是JavaScript既有面向过程的特征,又有面向对象的特征). 我认为
-
javascript 函数调用规则
JavaScript函数调用规则一 (1)全局函数调用: function makeArray( arg1, arg2 ){ return [this , arg1 , arg2 ]; } 这是一个最常用的定义函数方式.相信学习JavaScript的人对它的调用并不陌生. 调用代码如下: makeArray('one', 'two'); // => [ window, 'one', 'two' ] 这种方式可以说是全局的函数调用. 为什么说是全局的函数? 因为它是全局对象window 的一个方法
-
JavaScript中的方法调用详细介绍
JavaScript中,如果function属于一个对象,那么通过对象来访问该function的行为称之为"方法调用".与普通的函数调用不同的是,在进行方法调用时,function中的this指代将发生变化 - this将指代用于调用该function的对象(该对象将成为方法调用的invocation context): 复制代码 代码如下: var x = 99; var sample = { x:1, act:function(a){ this.x = a*a;//
-
Javascript的构造函数和constructor属性
例如,在Chrome下调试如下程序,很清楚的展示了这点: 然而事情并不是这么简单.再看下面的代码: 很显然,这个时候obj的constructor已经不再是创建它的函数,注意到obj.name也是undefined,因此修改构造函数的prototype的contructor并不会影响构造函数所产生的对象.真正的原因是:一个对象的constructor是它的构造函数的prototype.constructor,而每一个函数都有一个prototype,默认情况下,这个prototype有一个cons
-
javascript 函数调用的对象和方法
如果你真正理解Javascript函数是如何调用工作的,那么就可以避免一些bug的发生: 首先让我们创建一个简单的函数,这个函数将在下文中使用,这个函数仅仅返回当前的this的值和两个提供的参数. 复制代码 代码如下: function makeArray(arg1, arg2){ return [ this, arg1, arg2 ]; } 调用这个函数非常的简单,我们需要做的仅仅是: 复制代码 代码如下: makeArray('one', 'two'); 返回值:=> [ window, '
-
JavaScript继承基础讲解(原型链、借用构造函数、混合模式、原型式继承、寄生式继承、寄生组合式继承)
说好的讲解JavaScript继承,可是迟迟到现在讲解.废话不多说,直接进入正题. 既然你想了解继承,证明你对JavaScript面向对象已经有一定的了解,如还有什么不理解的可以参考<面向对象JS基础讲解,工厂模式.构造函数模式.原型模式.混合模式.动态原型模式>,接下来讲一般通过那些方法完成JavaScript的继承. 原型链 JavaScript中实现继承最简单的方式就是使用原型链,将子类型的原型指向父类型的实例即可,即"子类型.prototype = new 父类型();&qu
-
Javascript 使用function定义构造函数
Javascript中创建对象的语法是在new运算符的后面跟着一个函数的调用.如 复制代码 代码如下: var obj = new Object(); var date = new Date(); 运算符new首先创建一个新的没有任何属性的对象,然后调用该函数,把新的对象作为this关键字的值传递. 复制代码 代码如下: var date = new Date()的伪代码的实现就是 var obj = {}; var date = Date.call(obj); 构造函数的作用就是初始化一个新创
-
javascript 混合的构造函数和原型方式,动态原型方式
我们日常JS编程中最常用的方式 有下面2种: 1.混合的构造函数和原型方式 (重点) 复制代码 代码如下: function car (sColor,iNumbers){ // 构造函数只用来定义对象的所有非函数属性,即对象的属性 this.color = sColor; this.numbers = iNumbers; this.dirvers = new Array ("Jone","Leon"); } car.prototype.showColor = fun
随机推荐
- SqlServer使用公用表表达式(CTE)实现无限级树形构建
- 将DataTable作为存储过程参数的用法实例详解
- JavaScript 函数模式详解及示例
- js通过iframe加载外部网页的实现代码
- ASP.NET MVC中URL地址传参的两种写法
- 用PHP的socket实现客户端到服务端的通信实例详解
- 常用的JQuery数字类型验证正则表达式整理
- python3使用urllib示例取googletranslate(谷歌翻译)
- Python中if __name__ == "__main__"详细解释
- 网页布局设计的标准尺寸
- Hibernate使用中防止SQL注入的几种方案
- 360提示服务器开启了WebDAV的关闭方法
- jQuery实现圣诞节礼物传送(花式轮播)
- 合并table相同单元格的jquery插件分享(很精简)
- jquery实现动态画圆
- javascript实现网页中涉及的简易运动(改变宽高、透明度、位置)
- Linux下Web网站压力测试工具Webbench使用教程
- 简单掌握C++编程中的while与do-while循环语句使用
- 使用Browserify来实现CommonJS的浏览器加载方法
- C#将图片和字节流互相转换并显示到页面上