Js简介3——各种方法的解析

 

1.       构造方法的创建

function myConstructor(a){

//某些代码

}

function对象的特别之处在于,它的实例也能作为构造方法,因此可以用来创建函数的实例。如var myObject=new myConstuctor();

 

注意:function myConstructor(message){

 Alert(message);

 this.myMessage=message;

}

Var myObj=new myConstructor(“Instantiating”);

(其中myMessage属性只在被实例化的myConstructor的实例中可用,而在myConstructor函数自身中是无效的)

      

2.       静态方法

var myObject=new Object();

//添加个属性

myObject.name=”jh”;

//添加个方法

myObject.alertName=function(){

 alert(this.name);

}

//执行添加的方法

myObject.alertName();

上述代码也可以写成:

Var myConstructor=function(){}

myConstructor.name=’jg’;

myConstructor.alertName=function(){

  alert(this.name);

}

myConstructor.alertName();

说明:静态属性与方法只存在于此处定义的一个具体的实例中。这里即是myConstructor。Name和alertName成员不能应用于新的实例中

3.       公有成员(能够使实例化的对象包含的方法叫公有方法)

添加公有方法实例:

Function myConstructor(message){

   Alert(message);

this .myMessage=message;

}

//添加公有方法

myConstructor.prototype.clearMessage=function(string){

   this.myMessage+=’ ‘+string;

}

说明:这样操作后将会把新方法添加到myConstructor的底层定义中,而不是添加到myConstructor实例自身。

Var myObject=new myConstructor(‘hello world’);

myObject.clearMessage();

但是不能直接在myConstructor(即定义公有方法的类上直接调用公有方法)上调用公有方法。

4.       私有成员:(就是在构造函数中定义的变量和函数)

举例:function myConstructor(message){

   this .myMessage=message;

var myOwner=this;//私有属性

var separator=’_’; //私有属性

function alertMessage(){

//私有方法

alert(myOwner.message);

}

alertMessage(); //实例话时显示信息

}

5.       特权成员(能够被公开访问,而且还能访问私有成员。特权方法指在构造函数的作用域中使用this定义的方法)

  例:function myConstructor(message){

  this .myMessage=message;

  var separator=’_’;

  var myOwner=this;

  //特权方法

  this .appendToMessage=function(string){

  this .myMessage+=separator+string;

  alertMessage();

}

}

(注意特权方法appendToMessage方法可以访问myConstructor的私有成员separator)

使用

 var myObj=new myConstructor(‘hello world’);

myObj.appendToMessage(‘aaa’);

 

各种方法总结:

私有和特权成员在函数的内部,他们会被带到函数的每个实例中,因而将占用大量的内存。

公有的原型成员是对象蓝图的一部分,适用于通过new实例话的该对象的每一个实例。但不包括此对象本身

静态成员只适用于对象的一个特殊实例

转载于:https://www.cnblogs.com/yanmei-yaomy/archive/2011/06/13/3025119.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
图像识别技术在病虫害检测中的应用是一个快速发展的领域,它结合了计算机视觉和机器学习算法来自动识别和分类植物上的病虫害。以下是这一技术的一些关键步骤和组成部分: 1. **数据收集**:首先需要收集大量的植物图像数据,这些数据包括健康植物的图像以及受不同病虫害影响的植物图像。 2. **图像预处理**:对收集到的图像进行处理,以提高后续分析的准确性。这可能包括调整亮度、对比度、去噪、裁剪、缩放等。 3. **特征提取**:从图像中提取有助于识别病虫害的特征。这些特征可能包括颜色、纹理、形状、边缘等。 4. **模型训练**:使用机器学习算法(如支持向量机、随机森林、卷积神经网络等)来训练模型。训练过程中,算法会学习如何根据提取的特征来识别不同的病虫害。 5. **模型验证和测试**:在独立的测试集上验证模型的性能,以确保其准确性和泛化能力。 6. **部署和应用**:将训练好的模型部署到实际的病虫害检测系统中,可以是移动应用、网页服务或集成到智能农业设备中。 7. **实时监测**:在实际应用中,系统可以实时接收植物图像,并快速给出病虫害的检测结果。 8. **持续学习**:随着时间的推移,系统可以不断学习新的病虫害样本,以提高其识别能力。 9. **用户界面**:为了方便用户使用,通常会有一个用户友好的界面,显示检测结果,并提供进一步的指导或建议。 这项技术的优势在于它可以快速、准确地识别出病虫害,甚至在早期阶段就能发现问题,从而及时采取措施。此外,它还可以减少对化学农药的依赖,支持可持续农业发展。随着技术的不断进步,图像识别在病虫害检测中的应用将越来越广泛。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值