js
南风知我意,吹梦到西洲。
这个作者很懒,什么都没留下…
展开
-
超详细的 JS 数组方法整理
数组是 js 中最常用到的数据集合,其内置的方法有很多,熟练掌握这些方法,可以有效的提高我们的工作效率,同时对我们的代码质量也是有很大影响。 一、创建数组 1.使用数组字面量表示法 var arr4 = []; //创建一个空数组 var arr5 = [20]; // 创建一个包含1项数据为20的数组 var arr6 = ["lily","lucy","Tom"]; // 创建一个包含3个字符串的数组 2.使用 Array 构造函数 无参构造 var arr1 = new Array();转载 2021-01-26 12:42:01 · 233 阅读 · 0 评论 -
日常Javascript开发技巧,提升代码质量
Javascript 常用代码优化和重构的方法 简介 主要介绍以下几点: 提炼函数 合并重复的条件片段 把条件分支语句提炼成函数 合理使用循环 提前让函数退出代替嵌套条件分支 传递对象参数代替过长的参数列表 少用三目运算符 合理使用链式调用 分解大型类 活用位操作符 纯函数 本文会不断更新,不足之处欢迎补充。 1. 提炼函数 好处: 避免出现超大函数。 独立出来的函数有助于代码复用。 独立出来的函数更容易被覆写。 独立出来的函数如果拥有一个良好的命名,它本身就起到了注释的作用。 语义化将多段分离的逻辑放在不转载 2021-01-25 15:06:27 · 266 阅读 · 3 评论 -
一维数组转换成相应长度的二维数组
let oldList = [0,1,2,3,4,5,6,7]; let list = []; let size = 3; for (let i = 0; i < oldList.length; i += size) { list.push(oldList.slice(i, i + size)); }原创 2020-07-14 14:29:17 · 262 阅读 · 0 评论 -
回调会出现的问题
1.嵌套层次很深,难以维护 2.无法正常使用return和throw 3.无法正常检索堆栈信息 4.多个回调之间难以建立联系原创 2019-03-09 14:30:52 · 222 阅读 · 0 评论 -
js数组 面试题
ES6 去重 Array.from(new Set([1,2,3,4,5,4,3,2])) [...new Set([1,2,3,4,5,4,3,2])] //[1, 2, 3, 4, 5] 排序 [1,2,2,3,4,3,5,1].sort() //[1, 1, 2, 2, 3, 3, 4, 5] [1,2,2,3,4,3,5,1].sort((a,b)=>b-a...转载 2019-03-20 17:28:15 · 2646 阅读 · 0 评论 -
JavaScript面试
JavaScript 面试不容易。我觉得难,你也觉得不容易,大家的意见不谋而合。在 JavaScript 面试中被问问题的概率通常很高。那么该如何破解 JS 面试?突破口在哪儿?本文旨在通过学习基本概念来指导所有有志向的 JavaScript 开发者加深他们的 JS 知识。 以下为译文: 应对 JS 面试,本文至少算是必备常识。如果我是候选人,我会争取很好地掌握这些概念。如果我是面试...转载 2019-03-22 14:19:24 · 1218 阅读 · 0 评论 -
js 基本类型与引用类型的区别
ECMAScirpt 变量有两种不同的数据类型: 基本类型,引用类型。 也有其他的叫法,比如原始类型和对象类型,拥有方法的类型和不能拥有方法的类型,还可以分为可变类型和不可变类型,其实这些叫法都是依据这两种的类型特点来命名的 1.基本类型 基本的数据类型有: undefined,boolean,number,string,null. 基本类型的访问是按值访问的,就是说你可以操作保存在变...转载 2019-04-10 16:06:18 · 174 阅读 · 0 评论 -
让前端基础笔试更优秀(阿里)
1.如何实现一个不定高度的元素的水平垂直居中? 2.跨域请求数据的方法都有哪些? 3.写出你知道的css的选择器? 4.编写一个类和类继承,类名为Person,含有属性name,age,含有方法sayHello。 编写一个Student类,继承自Person,自有属性score,自有方法study。 5.分析代码的运行结果? for(var i=0;i<5;i++){ ...原创 2019-09-20 11:06:09 · 135 阅读 · 0 评论 -
让前端基础笔试更优秀(360)
1. window.val = 1; var json = { val:10, dbl:function(){ this.val*=2; } } json.dbl(); var dbl = json.dbl; dbl(); json.dbl.call(window); alert(window.val + json.val); 2. (function(){ ...原创 2019-09-20 15:16:54 · 155 阅读 · 0 评论 -
让前端基础笔试更优秀(腾讯)
1. var str = "abc123"; var num = parseInt(str); if(num == NaN){ alert(NaN); }else if(num == 123){ alert(123); }else if(typeof num == 'number'){ alert("number") }else{ alert("str"); } 2. va...原创 2019-09-24 17:10:13 · 182 阅读 · 0 评论 -
JS数组去重的12种方法
利用ES6 Set去重(ES6种最常用) function unique(arr){ return Array.from(new Set(arr)) } var arr=[1,1,'true','true',true,true,15,15,false,false,undefined,undefined,null,null,NaN,NaN,'NaN','NaN',0,0,'a','a',{...转载 2019-02-16 13:48:00 · 231 阅读 · 1 评论 -
js条件语句的优化
1、多重判断,使用Array.includes function test(fruit) { if (fruit == 'apple' || fruit == 'strawberry') { console.log('red'); } } 当条件过多时,进行优化 function test(fruit) { const redFruits = ['apple', 's...原创 2019-01-07 15:35:06 · 177 阅读 · 0 评论 -
纯函数和非纯函数区别
1.纯函数 function sum(a,b){ return a + b } 传入值相同时,总会返回相同的结果 2.非纯函数 function sum(a,b){ a = a + b return a } 会改变自己的输入值 react 中的组件 必须像纯函数一样 使用自己的 props ,props 是不能修改的 ...原创 2019-01-05 22:27:46 · 2353 阅读 · 0 评论 -
Exponentiation infix operator 指数中缀运算符
指数操作符 Math.pow(6,2) //36 6*6=36 6**2 //36原创 2018-09-08 11:14:28 · 266 阅读 · 0 评论 -
js toLocaleTimeString() 方法
var d=new Date(); var n=d.toLocaleTimeString(); 下午3:11:53 toLocaleTimeString() 方法可根据本地时间把 Date 对象的时间部分转换为字符串,并返回结果。原创 2018-09-10 15:15:28 · 2380 阅读 · 0 评论 -
js render 函数
render() 渲染 /'rendə/ <div id="example"></div> 在此 div 中的所有内容都将由 React DOM 来管理,所以我们将其称之为 "根" DOM 节点。原创 2018-09-10 16:51:30 · 14619 阅读 · 0 评论 -
if 判断条件
所有的对象都被当做true, 当且仅当字符串为空时,该字符串被当做false, null 和 undefinend 被当作false, 当且仅当数字为零时,该数字被当做false; 逻辑对象无初始值或者其值为 0、-0、null、""、false、undefined 或者 NaN,那么if判断 false ,其他为true; jq选择器选择返回的对象永远是jq的object对...原创 2018-09-17 19:23:16 · 572 阅读 · 1 评论 -
js 合并数组(两种方式)
let arr1=[1,2,3]; let arr2=[4,5,6]; console.log(arr1.concat(arr2) ) //[1,2,3,4,5,6] concat() 方法用于连接两个或多个数组。 该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。 arrayObject.concat(arrayX,arrayX,......,array...原创 2018-09-21 11:53:27 · 8195 阅读 · 0 评论 -
根据字母进行数组排序
var cityList=[{ "enValue": "shijiazhuang", "key": 37, "sort": 0, "value": "石家庄市" }, { "enValue": "tangshan", "key": 61, "sort":原创 2018-10-24 14:55:44 · 2359 阅读 · 2 评论 -
js数据类型转换
显式数据类型转换 转数字 Number()转换: var a='123'; Number(a) //123 var b=123; Number(a) //123 如果转换的内容本身就是一个数值类型的字符串,那么将来在转换的时候会返回自己 var c='1q2w'; Number(c) //NaN 如果转换的内容本身不是一个数值类型的字符串,那么在转换的时候结果是Na...原创 2018-12-19 17:25:03 · 98 阅读 · 0 评论 -
时间戳转换格式时间
function formatNumber(n) { n = n.toString() return n[1] ? n : '0' + n } function formatTime(number, format) { var formateArr = ['Y', 'M', 'D', 'h', 'm', 's']; var returnArr = []; var date = ne...原创 2018-12-21 14:22:11 · 179 阅读 · 0 评论 -
jsx被编译成了什么?
1.它是一种语法糖 --- React.createElement() 2.ReactElement对象原创 2019-01-05 21:48:49 · 841 阅读 · 1 评论 -
ECMAScript 2016
const arr=[1,2,3,4,NaN]; if(arr.indexOf(1)>0=0){ console.log(true) } stringObject.indexOf(searchvalue,fromindex) searchvalue 必需,规定需要检索的字符串 fromindex 可选的整数参数,规定在字...原创 2018-09-08 11:01:16 · 214 阅读 · 0 评论