首页 > 其他分享 >js小知识点

js小知识点

时间:2022-11-09 00:34:47浏览次数:30  
标签:function 知识点 return 函数 指向 作用域 js 箭头

01.this

this的指向完全由函数在哪里调用决定。

  • 在ES5中,this永远指向调用它的那个对象;
  • 在ES6的箭头函数中没有this绑定,this指向箭头函数定义时作用域中的this;

判断this的指向

  • 全局作用域、自执行函数、定时器传进的非箭头函数的this都指向window
  • 严格模式下(use strict),全局作用域中的this,指向undefined
  • 构造函数中的this指向当前实例
  • 事件绑定函数中的this指向当前被绑定的元素
  • 箭头函数中的this指向定义箭头函数上级作用域中的this

改变this的指向

  • 使用call,apply,bind。call和apply改变this指向时,函数会立即执行,bind不会

  • 保存成变量(let selt = this)

  • 使用箭头函数

  • 使用new实例化一个对象

  • 严格模式下直接调用this指向undefined

02.柯里化的概念

柯里化是一种函数的转换。指将一个函数从可调用的f(a,b,c)转换为f(a)(b)(c)

主要运用了js中函数作为返回值这一特性。

//原函数
function sum(x, y, z) {
    return x + y + z
}

console.log(sum(1, 2, 3))

//柯里化该函数
function sum1(x) {
    return function (y) {
        return function (z) {
            return x + y + z
        }
    }
}

console.log(sum1(1)(2)(3))

//箭头函数更为简洁
var sum2 = x => y => z => {
    return x + y + z
}
console.log(sum2(1)(2)(3))

标签:function,知识点,return,函数,指向,作用域,js,箭头
From: https://www.cnblogs.com/ma1998/p/16871806.html

相关文章

  • 谈谈js中this的理解
    this一、this的理解第一准则:this永远指向函数运行时所在的对象,而不是函数被创建时所在的对象【不包含箭头函数】二、this的集中指向:window对象如:console.log......
  • for和while的一些很基础的知识点 1.0版
    今天的​啊意也是忙碌的大学牲,匆匆忙忙只学了for和while很基础的一些知识点,下面便让我总结下我今天学到的东西吧下图是for执行的顺序首先就是for循环,for的基础结构就是:for......
  • js对象属性继承的方式都有哪些
    对象属性继承原型继承-实现方式:将子类构造函数的原型指向父类构造函数的实例对象+改变了子类构造函数的原型指向实现继承+则子类构造函数实例对象的原型指向......
  • js jsonp
    同源策略(浏览器的一种机制)概述:浏览器为了安全,他产生了一种同源策略,这个策略是为了防止一些恶意的请求,保护对应的隐私.同源策略主要是对应三个内容分别问同协议......
  • JS WEB怎么实现大文件上传
    ​ 文件上传是最古老的互联网操作之一,20多年来几乎没有怎么变化,还是操作麻烦、缺乏交互、用户体验差。一、前端代码英国程序员RemySharp总结了这些新的接口 ,本文在他......
  • java读取word显示在jsp页面上
    在最近的一个项目中需要将一段字符类型的文本存为word,html并要将word的内容保存在数据库中,于是就有了如下的一个工具类,希望能对碰到这样需求的朋友提供点帮助。      ......
  • mysql根据json字段内容作为查询条件(包括json数组)检索数据
    最近用到了mysql5.7的json字段的检索查询,发现挺好用的,记录一下笔记我们有一个日志表,里面的data字段是保存不同对象的json数据,遇到想根据里面的json的字段内容作为条件查询......
  • 我的朋友因为 JSON.stringify 差点丢了奖金
    英文|https://medium.com/frontend-canteen/my-friend-almost-lost-his-year-end-bonus-because-of-json-stringify-9da86961eb9e翻译|杨小爱这是发生在我朋友身上的真......
  • 6.Json交互处理
    6.Json交互处理1.什么是JsonJSON(JavaScriptObjectNotation,JS对象标记)是一种轻量级的数据交换格式,目前使用特别广泛。采用完全独立于编程语言的文本格式来存储......
  • Nodejs中的this
    以下内容都是关于在nodejs中的this而非JavaScript中的this,nodejs中的this和在浏览器中JavaScript中的this是不一样的。在全局中的thisconsole.log(this);{}this.num=10;c......