美文网首页
函数相关

函数相关

作者: June_Done | 来源:发表于2021-05-05 21:00 被阅读0次

(记录笔记)

  • this关键字

什么是 this?this 是 JavaScript 的一个关键字,一般指向调用它的对象。
这句话其实有两层意思,首先 this 指向的应该是一个对象,更具体地说是函数执行的“上下文对象”。其次这个对象指向的是“调用它”的对象,如果调用它的不是对象或对象不存在,则会指向全局对象(严格模式下为 undefined)。
ES6 新加入的箭头函数不会创建自己的 this,它只会从自己的作用域链的上一层继承 this。

改变 this 指向的常见 3 种方式有 bind、call 和 apply。call 和 apply 用法功能基本类似,都是通过传入 this 指向的对象以及参数来调用函数。区别在于传参方式,前者为逐个参数传递,后者将参数放入一个数组,以数组的形式传递。bind 有些特殊,它不但可以绑定 this 指向也可以绑定函数参数并返回一个新的函数,当 c 调用新的函数时,绑定之后的 this 或参数将无法再被改变。

  • typeof

用来获取一个值的类型,可能的结果有下面几种:

类型 结果
Undefined "undefined"
Boolean "boolean"
Number "number"
BigInt "bigint"
String "string"
Symbol "symbol"
函数对象 "function"
其他对象及 null "object"

  • instanceof

用于检测构造函数的 prototype 属性是否出现在某个实例对象的原型链上。例如,在表达式 left instanceof right 中,会沿着 left 的原型链查找,看看是否存在 right 的 prototype 对象。

  • 命名提升

对于使用 var 关键字声明的变量以及创建命名函数的时候,JavaScript 在解释执行的时候都会将其声明内容提升到作用域顶部,这种机制称为“命名提升”。

变量的命名提升允许我们在同(子)级作用域中,在变量声明之前进行引用,但要注意,得到的是未赋值的变量。而且仅限 var 关键字声明的变量,对于 let 和 const 在定义之前引用会报错。

console.log(a) // undefined

var a = 1

console.log(b) // 报错

let b = 2

//函数的命名提升则意味着可以在同级作用域或者子级作用域里,在函数定义之前进行调用。
fn() // 2
function fn() {
  return 2
}

两种方式对于调用函数方式以及返回结果而言是没有区别的,但根据命名提升的规则,我们可以得知方式 1 创建了一个匿名函数,让变量 f 指向它,这里会发生变量的命名提升;如果我们在定义函数之前调用会报错,而方式 2 则不会。

// 方式1

var f = function() {...}

// 方式2

function f() {...}

(注:笔记来自 朱德龙 前端高手进阶)

相关文章

  • iOS runtime主要函数

    类相关操作函数 实例相关操作函数 属性操作相关函数 方法操作相关函数 选择器相关的操作函数 协议相关的操作函数 b...

  • python 内置函数

    类型转换函数 变量相关 数学函数 进制相关函数 字符串相关函数

  • 函数相关

    函数定义 def 定义函数,函数返回值用return; python参数定义顺序必须是:必选参数、默认参数、可变参...

  • 函数相关

    一、函数声明和函数表达式有什么区别? JavaScript有三种方法,可以定义一个函数。1.函数声明。如下面的例子...

  • 函数相关

    函数声明与函数表达式的区别 26.js编写时遇到个问题:下面这两种写法竟然有区别,第一种写法无法正常使用CSS选择...

  • 函数相关

    (记录笔记) this关键字 什么是 this?this 是 JavaScript 的一个关键字,一般指向调用它的...

  • 自相关函数与互相关函数

    最近做相关滤波追踪的时候,遇到了瓶颈,所以想从头到尾理一理基础知识。 1、概念 相关函数是描述信号X(s),Y(t...

  • jemalloc 之 mmap

    相关文件:pages.c相关函数:pages_maplinux相关系统调用:mmapmmap 函数签名:int m...

  • Python中的常用函数方法

    类型转换 数学函数 字符串相关 list相关 tuple相关 字典 内置函数 声明 以上内容来自 菜鸟教程

  • PHP 扩展 - 常用函数

    字符串相关 数组相关 方法和函数相关 输出

网友评论

      本文标题:函数相关

      本文链接:https://www.haomeiwen.com/subject/urvkdltx.html