ES6
Wxinin
这个作者很懒,什么都没留下…
展开
-
document.documentElement.scrollTop
在标准的w3c下,document.body.scrollTop恒为0,需要用document.documentElement.scrollTop来代替;js中每个载入浏览器的HTML文档都会成为Document对象,documentElement 对应的是 html 标签,如果发现两个高度不一样,是css设置的问题,你的html高度不一定高于body。用body查看,其中clientHeight即为body的css高度,而不是:document.body.scrollTop;...原创 2022-08-05 10:33:49 · 7357 阅读 · 0 评论 -
js函数的length属性
js中Function.length获取的是当前这个函数对象的形式参数的个数(即有多少个比传参数)。形参的数量不包括剩余参数(详解见前文)的个数,仅包括第一个具有默认值之前的参数个数。原创 2022-08-03 15:11:29 · 280 阅读 · 0 评论 -
javaScript函数柯里化简介
柯里化也是属于函数式编程里面一个非常重要的概念维基百科解释:1.在计算机科学中,柯里化(Curring),又译为卡瑞化或加里化;2.是把接收多个参数的函数,变成接收一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数,而且返回结果的新函数的技术;3.柯里化声称"如果你固定某些参数,你将得到接受余下参数的一个函数;总结1.只传递给函数一部分参数来调用它,让它返回一个函数去处理剩余的参数;2.这个过程称之为柯里化;例子function add(x, y, z) { retur原创 2022-03-29 17:29:03 · 656 阅读 · 0 评论 -
js中的slice和splice简介
var names = ["abc", "cba", "nba", "dna"]// slice只要给它传入一个start/end, 那么对于同一个数组来说, 它会给我们返回确定的值// slice函数本身它是不会修改原来的数组// slice -> this// slice函数本身就是一个纯函数 给定确定的输入会产生确定的输出,并且没有产生副作用 var newNames1 = names.slice(0, 3)// ["abc", "cba", "nba"]不包含第三个[0,3)相当于原创 2022-03-29 15:41:30 · 461 阅读 · 0 评论 -
js对象转数组
生成键值数组Object.values(obj)生成一个大数组包含n个小数组,小数组第一项为键名,第二项为键值Object.entries(obj)原创 2022-03-29 11:13:43 · 79 阅读 · 0 评论 -
es6及之后的剩余参数
注意:箭头函数中没有arguments,在箭头函数中打印arguments会向上层作用域去找(全局中的node环境存在arguments,浏览器中没有arguments打印会报错)function foo() { var bar = () => { console.log(arguments) } return bar}var fn = foo(123)fn()//123--箭头函数本身没有arguments,打印的是上层作用域foo的arguments在es6之后,原创 2022-03-28 16:09:35 · 281 阅读 · 0 评论 -
js数组中的slice实现
Array.prototype.hyslice = function(start, end) { var arr = this start = start || 0 end = end || arr.length var newArray = [] for (var i = start; i < end; i++) { newArray.push(arr[i]) } return newArray}var newArray = Array.prototype.原创 2022-03-28 15:55:26 · 268 阅读 · 0 评论 -
js函数中的类数组参数arguments转为数组
function foo(num1, num2) { // 1.自己遍历 // var newArr = [] // for (var i = 0; i < arguments.length; i++) { // newArr.push(arguments[i] * 10) // } // console.log(newArr) // 2.arguments转成array类型 // 2.1.自己遍历arguments中所有的元素 // 2.2.Array.pro原创 2022-03-28 15:54:39 · 614 阅读 · 0 评论 -
arguments获取当前所在函数
arguments是存在AO中的类数组对象function foo(num1, num2, num3) { // 类数组对象中(长的像是一个数组, 本质上是一个对象): arguments // callee获取当前arguments所在的函数 console.log(arguments.callee)//foo(){} // arguments.callee()}...原创 2022-03-25 13:36:25 · 164 阅读 · 0 评论 -
javaScript模拟实现bind
Function.prototype.hybind = function(thisArg, ...argArray) { // 1.获取到真实需要调用的函数 var fn = this // 2.绑定this thisArg = (thisArg !== null && thisArg !== undefined) ? Object(thisArg): window function proxyFn(...args) { // 3.将函数放到thisArg中进原创 2022-03-25 13:23:50 · 1323 阅读 · 0 评论 -
javaScript模拟实现apply
// 自己实现hyapplyFunction.prototype.hyapply = function(thisArg, argArray) { // 1.获取到要执行的函数 //这里的this是调用hyapply的函数 var fn = this // 2.处理绑定的thisArg thisArg = (thisArg !== null && thisArg !== undefined) ? Object(thisArg): window // 3.执行函数原创 2022-03-25 11:14:01 · 863 阅读 · 0 评论 -
javaScript中this题
var name = 'window'var person1 = { name: 'person1', foo1: function () { console.log(this.name) }, foo2: () => console.log(this.name), foo3: function () { return function () { console.log(this.name) } }, foo4: function (原创 2022-03-09 16:31:09 · 575 阅读 · 0 评论 -
javaScript中关于this的面试题
var name = "window";var person = { name: "person", sayName: function () { console.log(this.name); }};function sayName() { var aaa = person.sayName; aaa(); // window: 独立函数调用 person.sayName(); // person: 隐式调用 (person.sayName)(); // per原创 2022-03-09 15:42:05 · 353 阅读 · 0 评论 -
javaScript数组里的高阶函数
1.filter:数组过滤filter中可以传入另外一个函数,然后filter会自动回调这个传入的函数,在回调这个函数时,回传递过来3个参数item、index、arr,这个数组有5个元素,意味着这个函数会被回调5次(也就是在内部实现filter函数的时候他会在内部调5次传入的函数)//[10,5,11,100,55]nums.filter(()=>boolean)var newNums=nums.filter(function(item,index,arr){return false}原创 2022-03-03 13:52:10 · 435 阅读 · 0 评论 -
js计算数组中重复的元素以及对应的次数
var arr=new Array(20); for(var i=0;i<arr.length;i++){ arr[i]=Math.ceil(Math.random()*10) } console.log(arr) var newArr=[]; for(var j=0;j<arr.length;j++){ if(arr.indexOf(arr[j])!=arr.lastIndexOf(arr[...原创 2021-11-09 10:07:30 · 4922 阅读 · 0 评论 -
ES6中的rest参数
ES6中引入rest参数,用于获取函数的实参,用来代替arguments(arguments的理解与使用见之前的文章)作用与arguments相似rest 参数必须是最后一个形参rest 参数不适合不确定个数参数函数的使用function addTip(...args){console.log(args);}addTip(1,2,3,4,5)//rest参数必须是最后一个形参function min(a,b,...args){console.log(a,b,args)}min(1原创 2021-08-31 16:16:01 · 298 阅读 · 0 评论 -
ES6属性和方法的简写
let name = '小明';let slogon = '是个好孩子';let improve = function () { console.log('喜欢运动');}//属性和方法简写let atguigu = { name, slogon, improve, change() { console.log('可以改变你') }};原创 2021-08-31 16:07:26 · 196 阅读 · 2 评论