第26天:this(1)

JavaScript的物件在本质上,像是特性的集合体,是由特性所组成的,而函式是一级值,所以可以将函式物件指定给其他函式当特性来用。

function sayHello(people){
    console.log(`你好,我是${people.name},今年${people.age}岁`)
};

let p1 ={
        name:'长庚',
        age:18,
        say:sayHello
    };
p1.say(p1);

https://ithelp.ithome.com.tw/upload/images/20201011/20120420cPbddlD9jK.png

使用this

我们的name跟age都是p1提供的,所以其实可以用this来替代people这个参数如下:

function sayHello(){
    console.log(`你好,我是${this.name},今年${this.age}岁`)
};

let p1 ={
        name:'长庚',
        age:18,
        say:sayHello
    };
let p2 ={
        name:'还没下凡的女朋友',
        age:18,
        say:sayHello
    };
p1.say();
p2.say();

https://ithelp.ithome.com.tw/upload/images/20201012/20120420TIDxEYn3fa.png

每个涵式都有this参考,这个this是参考到哪一个物件,依谁呼叫这个函式来决定。

先写到这边,晚安><


<<:  【第 27 个第一次】 抓住每个企业识别展示的机会 ! 快速导览网站浏览时视觉上需要准备的基本资讯

>>:  Day26 | 实现Extension内的MVVM架构

在投影片内文字选取位置插入等大图片_以字图取代文字【PowerPoint VBA】

Sub 在投影片内文字选取位置插入等大图片_以字图取代文字() '20210320 Dim sld ...

[Day 2] -『 GO语言学习笔记』- GO语言简介

GO语言简介 Go(Golang)是Google开发的一种语言。2007年,Google设计Go原先...

【从实作学习ASP.NET Core】Day25 | 前台 | 结帐流程

我们简单定义结帐流程为 [ 购物车 -> 输入订单资料 -> 建立订单 -> 付款...

Day14 - 模型评估 part 1

在今天的文章中我们会使用词正确率来评估模型的效能,词正确率是由词错误率(Word Error Rat...

[Day24] Esp32 + LINE - (程序码讲解)

1.前言 这篇主要是为解说前一篇关於AHT10和LINE的程序码,此次用到Line Notify的推...