Javascript 怎么创建File对象
发布网友
发布时间:2022-04-22 04:08
我来回答
共4个回答
热心网友
时间:2022-04-07 06:29
1、对已有对象进行扩充方法和属性
var object = new Object();
object.name = "zhangsan";//每个对象需要写这些语句
object.sayName = function(name){//每个对象需要写这些语句
this.name = name;
};
object.sayName("lisi");
alert(object.name);
2、工厂方式创建对象
function createObject() {
var object = new Object();
object.username = "zhangsan";
object.password = "123456";
object.get = function(){
alert(this.username + "," + this.password);
}
return object;
}
var object1 = createObject();
var object2 = createObject();
object1.get();
object2.get();
// 带参数的构造方法
function createObject(username, password){
var object = new Object();
object.username = username;
object.password = password;
object.get = function(){//缺点是,多少个对象则方法就有多少个
alert(this.username + ", " + this.password);
}
return object;
}
var object1 = createObject("zhangsan",123456);
object1.get();
// 最佳改进方式
function get(){//使该函数被多个对象共享
alert(this.username + ", " + this.password);
}
function createObject(username, password){//创建对象
var object = new Object();
object.username = username;
object.password = password;
object.get = get;
return object;
}
var object1 = createObject("zhangsan", "123456");
var object2 = createObject("wangwu", "654321");
object1.get();
object2.get();
3、构造函数方式创建对象
function Person(){
//在执行第一行代码欠,js引擎会为我们生成一个对象
this.username = "zhangsan";
this.password = "123";
this.getInfo = function(){
alert(this.username + ", " + this.password);
}
//此处有一个隐藏的return语句,用于将之前生成对象返回。
}
var p1 = new Person();
p1.getInfo();
//带参数
function Person(username, password){
this.username = username;
this.password = password;
this.getInfo = function(){
alert(this.username + ", " + this.password);
}
}
var p1 = new Person("zhangsan","1234546");
p1.getInfo();
4、原型(“prototype”)方式
function Person(){}
Person.prototype.username = "zhangsan";
Person.prototype.password = "123456";
Person.prototype.getInfo = function(){
alert(this.username + ", " + this.password);
}
var person = new Person();
var person2 = new Person();
person.username = "haha";
person.getInfo();
person2.getInfo();
//单纯使用原型方式定义对象无法在构造函数中为属性赋值,只能在对象生成后再去改变属性值
function Person(){}
Person.prototype.username = new Array();
Person.prototype.password = "123456";
Person.prototype.getInfo = function(){
alert(this.username + ", " + this.password);
}
var person = new Person();
var person2 = new Person();
person.username.push("zhangsan");
person.username.push("lisi");
person.password = "321";
person.getInfo();
person2.getInfo();
5、综合方式(原型+构造函数方式搭配)
function Person(){
this.username = new Array();//不被多个对象共享
this.password = "123";
}
Person.prototype.getInfo = function()//被多个对象共享
{
alert(this.username + "," + this.password);
}
var p1 = new Person();
var p2 = new Person();
p1.username.push("zhangsan");
p2.username.push("lisi");
p1.getInfo();
p2.getInfo();
6、动态原型方式
function Person(){
this.username = "zhangsan";
this.password = "123";
//通过标志量让所有的对象共享方法
if(typeof Person.flag == "undefined"){
alert("prototype");
Person.prototype.getInfo = function() {
alert(this.username + ", " + this.password);
}
Person.flag = true;
}
}
var p = new Person();
var p2 = new Person();
p.getInfo();
p2.getInfo();
热心网友
时间:2022-04-07 07:47
JavaScript中对象的创建有以下几种方式:
(1)使用内置对象
(2)使用JSON符号
(3)自定义对象构造
具体怎么创建可以网上搜索。
热心网友
时间:2022-04-07 09:22
在 HTML 文档中 <input type="file"> 标签每出现一次,一个 FileUpload 对象就会被创建。所以你用js创建此标签即可创建
热心网友
时间:2022-04-07 11:13
//创建对象
//第一个参数 需要写入的数据(数组)
//第二个参数 文件名(好像部分浏览器设置文件名无效)
//第三个参数 其他配置项
var file = new File(["123","456"], "123.txt", { type: "text/plain;charset=utf-8" });
//保存文件
saveAs(file);
//低版本浏览器不一定支持,建议使用最新版chrome测试.
//请参考https://developer.mozilla.org/zh-CN/docs/Web/API/File