- 构造函数
这就是一个构造函数,因为函数也是对象.(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 这是为什么???
-
基本概念
- 除null以外的内个js对象都有原型(prototype)。
这是啥意思呢?null不是引用类型,怎么可能有prototype
-
关于原型
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)