摘要:
数组基础遍历方法。
for
for of
for in
数组的基础操作方法。
push:尾部追加元素
pop:尾部移出元素
unshift:头部追加元素
shift:头部移出元素
splice:删除添加替换
concat:连接
join:分割
slice:切割
includes:查询
indexOf:查询
fill:填充/替换
es6中带来的数组高阶方法。
forEach:迭代(枚举)
filter:过滤
map:映射
find:查找
findIndex:查找下标 阅读全文
摘要:
JavaScript想实现继承的目的:重复利用另外一个对象的属性和方法。 1.原型链继承 让一个构造函数的原型是另一个类型的实例,那么这个构造函数new出来的实例就具有该实例的属性。 当试图访问一个对象的属性时,它不仅仅在该对象上搜寻,还会搜寻该对象的原型,以及该对象的原型的原型,依次层层向上搜索, 阅读全文
摘要:
JS20 数组扁平化 题解:递归数组判断 let newarr = [] const _flatten = arr => { // 补全代码 let i = 0; while(i < arr.length) { if (Array.isArray(arr[i])) { _flatten(arr[i] 阅读全文
摘要:
牛客 JS3 分隔符 描述 请补全JavaScript代码,要求返回参数数字的千分位分隔符字符串。 示例1 输入: _comma(12300) 输出: '12,300' 题解: <!DOCTYPE html> <html> <head> <meta charset=utf-8> </head> <b 阅读全文
摘要:
牛客JS2 文件扩展名 题目描述 请补全JavaScript代码,要求以字符串的形式返回文件名扩展名,文件名参数为"filename"。 题解:split(',')分割字符串,返回分割的字符串数组。reverse()倒置数组,拼上 '.' 返回。 <html lang="en"> <head> <m 阅读全文
摘要:
解构赋值 数组解构 let [a, b, c] = [1, 2, 3] //a=1, b=2, c=3 let [d, [e], f] = [1, [2], 3] //嵌套数组解构 d=1, e=2, f=3 let [g, ...h] = [1, 2, 3] //数组拆分 g=1, h=[2, 3 阅读全文
摘要:
v-model 的原理 vue 项目中主要使用 v-model 指令在表单 input、textarea、select 等元素上创建双向数据绑定,我们知道 v-model 本质上不过是语法糖,v-model 在内部为不同的输入元素使用不同的属性并抛出不同的事件: text 和 textarea 元素 阅读全文
摘要:
柯里化是什么? 把接收多个参数的函数,变成接收一个单一参数(最初函数的第一个函数)的函数,并且返回接受余下的参数,而且返回的结果的新函数的技术。 如果你固定某些参数,你将得到接收余下参数的一个函数。 总结: 只传递给函数一部分参数来调用它,让它返回一个函数去处理剩余的参数; 这个过程就称之为柯里化 阅读全文
摘要:
手写call()方法 系统用法: function.call(thisArg, arg1, arg2, ...) 手写实现: function sum(num1, num2) { console.log(num1 + num2, this) return num1 + num2; } Functio 阅读全文
摘要:
目录 JavaScript中闭包的定义 维基百科中关于闭包的定义 闭包(英语:Closure),又称词法闭包(Lexical Closure)或函数闭包(function closures)。 是在支持 头等函数 的编程语言中,实现 词法绑定 的一种技术。 闭包在实现上是一个结构体,它存储了一个函数 阅读全文