FormData
このインターフェイスは、フォーム データを表すキーと値のペアを構築する方法を提供し 、データはXMLHttpRequest.send()key/value
メソッド を通じて簡単に送信できます 。このインターフェイスとこのメソッドはどちらも非常にシンプルで簡単です。送信時にエンコードタイプが に設定されている場合 、フォームと同じ形式が使用されます。"multipart/form-data"
formDataオブジェクト
1.创建一个空对象
var formdata=new FormData()
2.追加数据
formdata.append("name","张三";)
3.通过get方法对值进行读取
console.log(formata.get("name"));
4.通过set方法对值进行修改,如果key值不存在,则添加一条数据
var formdata=new FormData();
formdata.set("name","张三");
console.log(formata.get("name"));//张三
//has(key) 判断是否存在对应的key值
var formdata=new FormData( );
formdata. append( "name","李四”);
console.1og( formdata. has("name")); // true
console . log(formdata.has("age")); // false
//delete(key)删除数据
formdata. append("name", "李四");
console .1og( formdata. get("name")); //李四
formdata. delete(" name");
console.1og( formdata. get("name")); // null
//entries()获取一个迭代器,然后遍历所有的数据
var formData = new FormData( );
formData. append("k1", "v1");
formData. append("k1", "v2");
formData. append("k2", "v1");
var i = formData. entries();
i.next(); // {done:false, value:["k1", “V1"]};
i.next(); // {done:fase, value:["k1", "v2"]};
i.next(); // {done:fase, value:["k2", “v1"]};
i. next(); // {done: true, value : undefined}
//每次返回迭代器的规则,
//每次调用一次next()返回一条数据,数据的顺序根据添加的顺序决定
//返回的是一个对象,当done的属性为 true的时候,就说明已经遍历完毕
特定の研究へのリンクは次のとおりです。
Formdata ファイルのアップロード - Nuggets
レビュー
1.機能
函数的声明 var fun=function(){} Function ()构造函数 var fun=new Function("a","b","return a*b") 函数的提升 也就是说提升是js默认将当前作用域提升到前面的去的行为 自调用函数 如果表达式后面紧跟(),则他自己会自调用 (funciton (){ var x="Hello!";//我将调用我自己 //这是一个匿名函数的调用 }) 函数是对象 在Js当中使用typeof操作符判断函数类型将返回"function" 但是 js函数描述未一个对象更加准确 js函数有属性和方法 arguments.length会返回函数调用过程种接收到的参数的个数 function muFunction(a,b){ return argumnets.length; } toString()方法 会将函数作为一个字符串返回 function myFunction(a,b){ return a*b; } var txt=myFunction .toString(); 箭头函数 (参数1,参数2 ,参数3,参数 n)=>{ return 表达式 ;} //当只有一个参数的时候,圆括号是可选的 (单一参数)=>{函数声明} 单一参数 =>{函数声明} //没有参数的函数应该写成一对圆括号 ()=>{函数声明} 对比 var x=function(x,y){ return x*y; } const x=(x,y)=>x*y; 箭头函数没有自己的this,不适合一个对象的方法 当我们使用箭头函数的时候,箭头函数会默认帮我们绑定外层this的值,所以在箭头函数 种this的值和外层的this是一样的 箭头函数不能提升,所以在使用之前需要定义 使用const 比使用var更加安全,因为函数表达式始终是一个常量
2. オブジェクトを作成するいくつかの一般的な方法
var p=新しいオブジェクト();
p.name='トム'
p.age=12
p.setName=function(name){ this.name=name }//テスト
p.setName('JACK')
console.log(p.name,p.age)
//方法 2:
オブジェクト リテラル モードを使用する
ルーチン: {} を使用してオブジェクトを作成し、属性/メソッドを指定する
使用シナリオ:元のオブジェクトの内部データは確実である
問題: 複数のオブジェクトを作成すると、コードが重複してしまいます。var p={ 名前:'トム', 年齢:12, setName:function(name){ this.name=name } }
//
console.log(p.name,p.age)
p.setName('JACK')をテストします。//方法 3: ファクトリ モード
ファクトリ関数を使用して動的オブジェクトを作成し、それらを返す
一般的な使用法: 複数のオブジェクトを作成する必要がある
問題: オブジェクトには特定の値がなく、すべてオブジェクト値です。function 人(名前,年齢){ this.name=name; this.age=年齢}
Person.prototype.setName=function(name){ this.name=name;//インスタンス オブジェクト}
今週のまとめ:頑張ってください!