Javascript
文章平均质量分 55
JS语言基础
兴趣使然的码仔
要打开真理之门就需要付出对等的代价
展开
-
ES6新规:rest/扩展运算符(...)
ES6中添加了rest运算符可以更便捷的操作数组或者类似于数组的对象。“rest运算符”因为以 “...” 的形式出现,有拆分与合并两种功能,根据其功能不同,称呼也不同。进行拆分时称为“扩展运算符”,合并时称为“rest运算符”。扩展运算符:将一个 数组/类似数组的对象 变为参数序列Ex:应用场景:1.合并数组 [ ...arr1, ...arr2 ]2.与解构赋值相结合 [ 1, 2, ...arr]3.函数返回值,将返回的数组/对象变为参数序列,再作为其他函数的参数...转载 2020-08-15 16:27:38 · 137 阅读 · 0 评论 -
常用JavaScript方法封装(持续更新)
输入一个值,返回其数据类型function type(para) { return Object.prototype.toString.call(para)}数组去重function unique1(arr) { return [...new Set(arr)]}function unique2(arr) { var obj = {}; return arr.filter(ele => { if (!obj[ele]) { .转载 2021-07-21 16:12:04 · 117 阅读 · 0 评论 -
JS用forEach遍历数组时无法用return退出
forEach无法使用break和return的原因与解决方案原创 2021-12-06 16:49:16 · 1592 阅读 · 0 评论 -
Object.assign()方法合并两个js对象
MDN文档对该方法的描述如下即形如Object.assign(obj1, obj2)的语法中,会将obj1和obj2的所有属性合并,并返回新的对象。手写测试<template> <div id="app"> <img alt="Vue logo" src="./assets/logo.png"> <HelloWorld msg="Welcome to Your Vue.js App"/> </div></te原创 2021-09-09 15:31:10 · 587 阅读 · 0 评论 -
对象属性名加引号和不加引号的区别
最近写代码的时候碰到不同人写的代码,有的人对象无论key或value多要加引号,有的人key不加引号(比如我本人),突然疑惑了,很久以前学的JS语法基础忘了,所以好好回忆一下。一般情况下 ,key加不加引号都是一样的,都可以访问到,但是有些不符合规范的属性名必须加引号。如下:1.以数字开头的属性名 (以前没有用这种歌格式命名过key,所以好像都没注意)这种key只能用 “[ ]” 方式访问value,且要带上 ' ',不能用 “.” 的形式访问。Ex:let example = {原创 2020-08-15 16:04:36 · 2092 阅读 · 0 评论 -
setTimeout与setInterval
这两个定时器在开发过程中经常使用,但是对于理论不太清楚,区别也一知半解,所以写个随笔学习记录一下。W3C给出的解释setTimeout:设置一个函数,在指定的延迟(毫秒)后被调用setInterval:在每次经过指定的持续时间后重复调用回调个人理解两个的共同点就是设置延时执行,以下是自己试验写的代码:console.log(1);console.log(2);setTimeout(() => { console.log(3);}, 100);console.lo.原创 2020-10-24 18:42:34 · 355 阅读 · 0 评论 -
JS代码优化技巧——持续更新
使前端代码更优雅的优化技巧,持续更新,转载自Hhua.多个条件的判断——数组的include方法//Badif (x === 'iphoneX' || x === 'iphone11' || x === 'iphone12') { //code... }//Goodif (['iphoneX', 'iphone11', 'iphone12'].includes(x)) { //code...}简单条件判断——三目运算符(可嵌套)// Badlet test= boolean;转载 2021-12-13 10:40:13 · 114 阅读 · 0 评论 -
ES6新规:for-in和 for-of的区别
for-in 与for-of的区别原创 2020-08-15 15:33:59 · 1960 阅读 · 0 评论 -
JS的foreach方法修改值的问题
问题描述最近开发过程中,向数组动态插入内容后vue渲染器报错如下:一般可能认为是v-for的key设置有问题可能重复了,但是检查数据过后发现的问题在于插入后没有对后续的索引值进行更新(不是数组默认索引,而是引用类型内部人工添加的索引字段)解决方法1.把v-for中使用人工添加的索引字段值修改成系统默认的数组索引,可避免潜在的更新错误,但是无法修正数据中人工添加的索引字段重复事实,后续还用仍然可能造成问题2.在插入逻辑后增加手动修改索引字段的逻辑思考使用foreach遍历数组时,修改eleme原创 2021-09-06 11:58:33 · 1805 阅读 · 0 评论 -
JSON.parse处理非标准Json数据出错
标准json格式通常我们在编码中使用的object是类似于下面这种:let object = { key1: 'value1', key2: 'value2', ...}这样的对象在代码中键是不需要用引号括起来的。但是标准Json的格式应该是如下:{ "key1": "value1", "key2": "value2", ...}键值都需要用双引号括起来(不能用单引号)。有时候后台传给前台的数据被转成了字符串形式,并且是各种不标准的json格式,这时候js中使用JSON.pa原创 2021-08-06 11:19:09 · 1304 阅读 · 1 评论 -
Javascript编程规范
命名原则——编码格式UTF-8,根据功能为变量与方法命名(尽量不缩写)类——构造函数/类 使用驼峰命名法,且首字母大写方法——动词、动宾结构,使用驼峰命名法,首字母小写例如:get + 非布尔属性名() is + 布尔属性名() set + 属性名() has + 名词/形容词() 动词() 动词 + 宾语()建议——类中的私有属性和方法名,建议以下划线开头或结尾实例:class Foo() { this._bar = compu原创 2021-07-20 11:21:10 · 214 阅读 · 1 评论