Javascript 怎么创建File对象

Javascript 怎么创建File对象,第1张

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()

创建文件

一共有3种方法可用于创建一个空文本文件,这种文件有时候也叫做文本流(text stream)。

第一种是使用CreateTextFile方法。代码如下:

var fso, f1

fso = new ActiveXObject("Scripting.FileSystemObject")

f1 = fso.CreateTextFile("c://testfile.txt", true)

第二种是使用OpenTextFile方法,并添加上ForWriting属性,ForWriting的值为2。代码如下:

var fso, ts

var ForWriting= 2

fso = new ActiveXObject("Scripting.FileSystemObject")

ts = fso.OpenTextFile("c://test.txt", ForWriting, true)

第三种是使用OpenAsTextStream方法,同样要设置好ForWriting属性。代码如下:

var fso, f1, ts

var ForWriting = 2

fso = new ActiveXObject("Scripting.FileSystemObject")

fso.CreateTextFile ("c://test1.txt")

f1 = fso.GetFile("c://test1.txt")

ts = f1.OpenAsTextStream(ForWriting, true)

(二)添加数据到文件

当文件被创建后,一般要按照“打开文件->填写数据->关闭文件”的步骤实现添加数据到文件的目的。

打开文件可使用FileSystemObject对象的OpenTextFile方法,或者使用File对象的OpenAsTextStream方法。

填写数据要使用到TextStream对象的Write、WriteLine或者WriteBlankLines方法。在同是实现写入数据的功能下,这3者的区别在于:Write方法不在写入数据末尾添加新换行符,WriteLine方法要在最后添加一个新换行符,而WriteBlankLines则增加一个或者多个空行。

关闭文件可使用TextStream对象的Close方法。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11693930.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存