js面向对象

  1. 构造函数
这就是一个构造函数,因为函数也是对象.(Object类型,引用类型);是在远程医疗中使用的一个有关文件上传的函数。构造函数一般的习惯上首字母大写。 function consultFileOperate(fileId,showId){ //带有连个构造参数 
    this.myfiles = new FormData(); //公有属性 
	this.fileName = new Array(); //公有属性 在外部可以访问的 
	var temp = ""; //私有属性(自己认为的额:因为他在构造函数的大括号内,(作用域),   因此只能在该函数内使用,外部无法使用所以是私有属性);     var that = this; //用that暂存当前对象 
	function cloneFileContent(){ //私有方法
	    return $("<li class='liststyle icon-fileTitle'><a style='margin-left: 20px;cursor: pointer;color: #204b88;'>删除</a>                   </li>").clone();
	};
	this.operate = function(){  
	      temp.prepend("<span style='display: none'>"+time+"</span>"+files.item(i).name) .find("a").click(function(){   在次函数中this指的便是 a标签,即该函数的ower 是a标签。                     
		  var index = $(this).prev("span").text();                     
		  that.myfiles.delete(index);//在构造函数内部访问属性的一种方式。(我还没有想到其他的方式。。。。。)                                     that.fileName.splice($(this).parents("li").index(),1);                     
		  $(this).parent().remove();                 
		  });   
		  } //公有方法 }

//创建一个对象 var uploadfile = new consultFileOperate("consultfileupload","consoultFileshowview");

\*\*this永远指向 当前正在执行的函数的 owner (网上看到的目前认为是最正确的解释)该函数属于谁 \*\* function box(name){ [this.name](http://this.name) = name; this.history = \["12","34"\]; this.run = function(){ console.log(this.name+"运行中。。"); console.log(this.history); } } var box1 = new box("box1"); box1.run(); //box1运行中。。 Array\[2\]0:"12"1:"34"length:2 这是为什么???
  1. 基本概念

    1. 除null以外的内个js对象都有原型(prototype)。

    这是啥意思呢?null不是引用类型,怎么可能有prototype

  2. 关于原型

var person = { 'name':'yao', "age":23 }; console.log(person.\_\_proto\_\_); [//Object.prototype](//Object.prototype),通过直接量(字面量)的方式创建的对象原型都是 Object.prototype. person.prototype = {"1":1}; console.log(person.\_\_proto\_\_); //依然是 Object.prototype var obj = new Object(); console.log(obj.\_\_proto\_\_); // Object.prototype var date = new Date(); console.log(date.\_\_proto\_\_); [//Date.prototype](//Date.prototype) new x()原型即是x.prototype console.log(date.\_\_proto\_\_.\_\_proto\_\_); [//Object.prototype](//Object.prototype)

function proTest(){ } var test = new proTest(); console.log(test.\_\_proto\_\_); [//proTest.prototype](//proTest.prototype)

转载于:https://my.oschina.net/u/3163071/blog/809844

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值