JavaScript方法(Set、Map、URLSearchParams、FormData、Date、File、Blob、Proxy)

1. new Set()

Set集合是一种数据结构,类似于数组,但是不能存放重复的值 可以理解为Set 中的值总是唯一的。通常用于数组去重和字符串去重。

Set集合中key和value是相同的,所以 keys() 和 values() 是一样的。

    const newSet = new Set();
    console.log('newSet', newSet);

    //1.add方法 添加新键值
    newSet.add(1).add(2).add(2);
    console.log('newSet.add', newSet);

    //2.delete方法 删除元素
    newSet.delete(1);
    console.log('newSet.delete', newSet);

    //3.has方法 检测是否存在元素
    const ishas = newSet.has(1);
    console.log('newSet.has', ishas);

    //4.clear方法 清空
    newSet.clear(); 
    console.log('newSet.clear', newSet);

    //5.size属性 返回成员数量
    const setSize = newSet.size;
    console.log('newSet.size', setSize);

    //6.values方法 返回所有的值
    const setValue = newSet.values();
    console.log('newSet.values', setValue);

    //7.keys方法 返回所有的键
    const setKey = newSet.keys();
    console.log('newSet.keys', setKey);

2. new Map()

JavaScript的对象(Object),本质上是键值对的集合(Hash结构),但是传统上只能用字符串当作键。这给它的使用带来了很大的限制。
为了解决这个问题,ES6提供了Map数据结构。它类似于对象,也是键值对的集合,但是“键”的范围不限于字符串,各种类型的值(包括对象)都可以当作键。

    const newMap = new Map();
    console.log('new Map', newMap);

    //1.set方法 添加新键值
    newMap.set('userName', 'admin').set('passWord', '123456'); 
    console.log('newMap.set', newMap);

    //2.has方法 是否有这个键
    const has = newMap.has('passWord'); 
    console.log('newMap.has', has);

    //3.get方法 获取某个键的值
    const get = newMap.get('passWord');
    console.log('newMap.get', get);

    //4.delete方法 删除某个元素
    newMap.delete('passWord'); 
    console.log('newMap.delete', newMap);

    //5.clear方法 清空
    newMap.clear();
    console.log('newMap.clear', newMap);

    //6.size属性 返回成员数量
    const size = newMap.size;
    console.log('newMap.size', size);

    //7.values方法 返回所有的值
    const mapValue = newMap.values();
    console.log('newMap.values', mapValue);

    //8.keys方法 返回所有的键
    const mapKey = newMap.keys();
    console.log('newMap.keys', mapKey);

3. new URLSearchParams()

URLSearchParams定义了一系列用于处理URL query参数的方法。

    const formatParam = '?id=123&age=456&id=789';
    const params = new URLSearchParams(formatParam);
    console.log('new URLSearchParams', params);

    //1.has方法 是否有这个键
    const has = params.has('id'); // true
    console.log('params.has', has);

    //2.get方法 查询键的值
    const get = params.get('id'); // '123'
    console.log('params.get', get);

    //3.getAll方法 获取键的所有值
    const getAll = params.getAll('id');
    console.log('params.getAll', getAll); // ['123','789']

    //4.toString方法 以url query参数形式返回字符串(可用于对象转换query参数)
    const toString = params.toString();
    console.log('params.toString', toString); // id=123&age=456&id=789

    //5.append方法 添加一个参数
    params.append('name', 'jack');
    console.log('params.append', params.toString()); // id=123&age=456&id=789&name=jack

    //6.delete属性 删除一个参数
    params.delete('id');
    console.log('params.delete', params.toString()); // age=456&name=jack

    //7.set方法 设置参数
    params.set('name', 'sb');
    console.log('params.set', params.toString()); // age=456&name=sb

4. new FormData() 

FormData是为序列化表以及创建与表单格式相同的数据提供便利(向服务端传输数据的一种形式,多用于文件上传)

    var formData = new FormData();
    console.log('new formData', formData);
    // 也可可以用来绑定表单、操作表单(原生js)
    // var form = document.getElementById("myForm");
    // var formData = new FormData(form);

    //1.has方法 是否有这个键
    const has = formData.has('id');
    console.log('formData.has', has);

    //2.get方法 查询键的值
    const get = formData.get('id');
    console.log('formData.get', get);

    //3.getAll方法 获取键的所有值
    const getAll = formData.getAll('id');
    console.log('formData.getAll', getAll);

    //4.append方法 添加一个参数
    formData.append('name', 'jack');
    console.log('formData.append', formData);

    //5.delete属性 删除一个参数
    formData.delete('id');
    console.log('formData.delete', formData);

    //6.set方法 设置参数
    formData.set('name', 'sb');
    console.log('formData.set', formData);

5. new Date()

用于处理日期和时间

var date = new Date()日期对象实例 
getDate() 从 Date 对象返回一个月中的某一天 (1 ~ 31)。
getDay() 从 Date 对象返回一周中的某一天 (0 ~ 6)。
getMonth() 从 Date 对象返回月份 (0 ~ 11)。
getFullYear() 从 Date 对象以四位数字返回年份。
getYear() 请使用 getFullYear() 方法代替。
getHours() 返回 Date 对象的小时 (0 ~ 23)。
getMinutes() 返回 Date 对象的分钟 (0 ~ 59)。
getSeconds() 返回 Date 对象的秒数 (0 ~ 59)。
getMilliseconds() 返回 Date 对象的毫秒(0 ~ 999)。
getTime() 返回 1970 年 1 月 1 日至今的毫秒数。
getTimezoneOffset() 返回本地时间与格林威治标准时间 (GMT) 的分钟差。
getUTCDate() 根据世界时从 Date 对象返回月中的一天 (1 ~ 31)。
getUTCDay() 根据世界时从 Date 对象返回周中的一天 (0 ~ 6)。
getUTCMonth() 根据世界时从 Date 对象返回月份 (0 ~ 11)。
getUTCFullYear() 根据世界时从 Date 对象返回四位数的年份。
getUTCHours() 根据世界时返回 Date 对象的小时 (0 ~ 23)。
getUTCMinutes() 根据世界时返回 Date 对象的分钟 (0 ~ 59)。
getUTCSeconds() 根据世界时返回 Date 对象的秒钟 (0 ~ 59)。
getUTCMilliseconds() 根据世界时返回 Date 对象的毫秒(0 ~ 999)。
parse() 返回1970年1月1日午夜到指定日期(字符串)的毫秒数。
setDate() 设置 Date 对象中月的某一天 (1 ~ 31)。
setMonth() 设置 Date 对象中月份 (0 ~ 11)。
setFullYear() 设置 Date 对象中的年份(四位数字)。
setYear() 请使用 setFullYear() 方法代替。
setHours() 设置 Date 对象中的小时 (0 ~ 23)。
setMinutes() 设置 Date 对象中的分钟 (0 ~ 59)。
setSeconds() 设置 Date 对象中的秒钟 (0 ~ 59)。
setMilliseconds() 设置 Date 对象中的毫秒 (0 ~ 999)。
setTime() 以毫秒设置 Date 对象。
setUTCDate() 根据世界时设置 Date 对象中月份的一天 (1 ~ 31)。
setUTCMonth() 根据世界时设置 Date 对象中的月份 (0 ~ 11)。
setUTCFullYear() 根据世界时设置 Date 对象中的年份(四位数字)。
setUTCHours() 根据世界时设置 Date 对象中的小时 (0 ~ 23)。
setUTCMinutes() 根据世界时设置 Date 对象中的分钟 (0 ~ 59)。
setUTCSeconds() 根据世界时设置 Date 对象中的秒钟 (0 ~ 59)。
setUTCMilliseconds() 根据世界时设置 Date 对象中的毫秒 (0 ~ 999)。
toSource() 返回该对象的源代码。
toString() 把 Date 对象转换为字符串。
toTimeString() 把 Date 对象的时间部分转换为字符串。
toDateString() 把 Date 对象的日期部分转换为字符串。
toGMTString() 请使用 toUTCString() 方法代替。 1 3
toUTCString() 根据世界时,把 Date 对象转换为字符串。
toLocaleString() 根据本地时间格式,把 Date 对象转换为字符串。
toLocaleTimeString() 根据本地时间格式,把 Date 对象的时间部分转换为字符串。
toLocaleDateString() 根据本地时间格式,把 Date 对象的日期部分转换为字符串。

 6. new File()和new Blob()

7. new Proxy()

在 Vue 中,`FormData` 对象的 `set(name, value[, filename])` 方法用于设置指定名称的键对应的值。 该方法接受三个参数: - `name`:要设置的键的名称。 - `value`:要设置的键对应的值。 - `filename`(可选):用于文件字段的文件名。 使用 `set()` 方法可以更新现有键的值,或者添加一个新的键值对到 `FormData` 对象中。如果指定的键已存在,则会更新其对应的值;如果指定的键不存在,则会创建一个新的键值对。 以下是使用 `set()` 方法设置 `FormData` 对象的示例: ```javascript const formData = new FormData(); formData.append('name', 'John'); // 设置新的键值对 formData.set('age', 30); // 更新现有键的值 formData.set('name', 'Jane'); // 添加文件字段 formData.set('file', file, 'example.jpg'); ``` 在上述示例中,我们首先创建了一个空的 `FormData` 对象 `formData`。然后,使用 `append()` 方法添加了一个键值对 `'name': 'John'`。 接着,我们使用 `set()` 方法添加了一个新的键值对 `'age': 30`。由于该键在之前并不存在,因此会创建一个新的键值对。 然后,我们使用 `set()` 方法更新了现有键 `'name'` 的值为 `'Jane'`。 最后,我们使用 `set()` 方法添加了一个文件字段 `'file'`,其中 `file` 是一个包含文件数据的 Blob 对象,并指定了文件名为 `'example.jpg'`。 总结起来,`set()` 方法可以用于设置或更新 `FormData` 对象中指定键的值,包括文本字段和文件字段。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王布尔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值