javascript原生从初级到高级汇总

本文深入探讨JavaScript函数的四种定义方式:函数声明、函数表达式、构造函数及箭头函数,并详解函数调用的不同情景,包括普通调用、方法调用、构造函数调用、间接调用及箭头函数的特殊调用规则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一. 前言

js知识的重要性不言而喻,一直暗戳戳想要系统的学习汇总一下js的相关知识,但是一直没有定下心来付诸行动,今天刚好看见一篇不错的文章,所以决定通过这篇文章记录一下学习成果。

二. 函数部分

  1. 函数的定义方式?

    参考链接:mdn function

    (1)函数声明

    function myfun() {...}
    

    (2)函数表达式

    var myFunction = function sort(){}
    var myFuntion2 = function() {} //匿名函数(函数没有名字)
    (function() {...})() // 当函数只使用一次时,通常使用IIFE(在函数声明后立即调用函数表达式)
    

    (3)构造函数

    var multiply = new Function('x', 'y', 'return x') // new Function(arg1, arg2 ..., functionBody)
    

    (4)箭头函数

    ()=> {} // 零个参数需要使用(),一个参数省略()
    
  2. 函数的调用?

    (1)函数调用:函数名(),匿名函数调用 【this指向window】

    (2)方法调用:对象.方法名() 【this指向对象】

    var objList = {
        name: 'methods',
        getSum: function() {
            console.log(this); // this指向objList
    	}
    }
    objList.getSum();
    

    (3)构造函数调用:new 构造函数名字() 【this指向构造函数】

    function Person() {
        console.log(this); // 指向Person
    }
    var person1 = new Person();
    

    (4)间接调用:使用call和apply来实现 【this指向call或apply的第一个参数,如果第一个参数为undefined或null,则this指向window】

    function foo() {
    	console.log(this);
    }
    foo.call('我是第一个参数'); // String {'我是第一个参数'}
    foo.apply('我是第一个参数'); // String {'我是第一个参数'}
    

    (5)箭头函数的调用:【箭头函数的this与调用无关,取决于定义】

三. 参考链接

JS 原生面经从初级到高级【近1.5W字】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值