为了账号安全,请及时绑定邮箱和手机立即绑定

JS的问题啊,请教大家

JS的问题啊,请教大家

谷白 2016-05-22 17:13:21
var move=function(){     this.add=function(){} } var opp=new move(); opp.add()这种叫什么写法啊
查看完整描述

4 回答

已采纳
?
涂大仙

TA贡献18条经验 获得超15个赞

var move=function(){    //创建一个名为move的对象
    this.add=function(){}        //给对象添加add方法
}
 
var opp=new move();    //创建一个move对象的新实例,命名为opp
opp.add()                //由于opp是move对象的一个实例,所以可以调用move对象的add方法


查看完整回答
1 反对 回复 2016-05-23
  • 谷白
    谷白
    请问这属于JS的什么写法,另外还有其它的写法吗?
  • 涂大仙
    涂大仙
    这是js当中创建对象的一种模式,叫构造函数模式,除了这种模式还有工厂模式和原型链模式。构造函数模式和原型链模式是使用最多的,经常结合起来使用。原型链模式的大致写法是这样: function Move(){}; move.prototype.add=function(){}; var opp = new Move(); opp.add(); 这种写法是将add方法添加到move的原型链上,可以让move的所有实例都调用到这个方法。
  • 谷白
    谷白
    var move=function(){ //创建一个名为move的对象 add:function(){ } //给对象添加add方法 } 这样写又有什么区别吗?因为看到JQ ajax这样写的,
点击展开后面1
?
铁杆约翰

TA贡献8条经验 获得超0个赞

首先声明了一个函数表达式,然后实例化了一个move类的对象opp,构造函数中的this在这里指的是实例化的对象,并为实例化对象初始了一个add方法,也就是最后一行调用了opp的add方法。

查看完整回答
反对 回复 2016-05-27
?
yusine

TA贡献22条经验 获得超19个赞

这是面向对象中的构造函数

查看完整回答
反对 回复 2016-05-23
?
遗失幻殇

TA贡献9条经验 获得超4个赞

var opp=new move(); 可以看成创建了一个move类的对象

opp.add();可以看成是对象执行了类的方法add

var move=function(){

    this.add=function(){}

}

可以看成是,创建了一个类 move ,然后在类里面创建了一个方法add()

查看完整回答
反对 回复 2016-05-22
  • 4 回答
  • 0 关注
  • 1359 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信