JavaScript: How It’s Made

func.call(ARG)

functhis属性指定为ARG

function-call

JavaScript Function - What’s your Function?

习惯:似乎大家都喜欢这样声明函数…

const foo = function () {
    // DO SOMETHING
    return 0;
}

Trick: 包含较多形参的函数

  1. 形参搞成一个对象

    function-multi-parameters-trick-1

    优点:

    • 顺序无所谓

    • 键值关系更清晰

  1. rest型形参

    function-multi-parameters-trick-2

    args是一个数组,里面的元素相当于位置形参(Positional Arguments)了

箭头函数

this 的问题

不用箭头函数:

function Dog() {
    var self = this;
    
    this.breed = 'Wolf';
    
    setTimeout(function () {
     	console.log(this.breed);	// undefined
        console.log(self.breed);	// Wolf
    }, 0);
}

用箭头函数:

function Dog() {
    this.breed = 'Wolf';
    
    setTimeout(function () {
     	console.log(this.breed);	// Wolf
    }, 0);
}

但有些框架/库不建议使用箭头函数(原因待探究),如 Vue.js

An Encounter with JavaScript Objects

遍历对象

for (key of Object.keys(obj)) {
    console.log(key);
}

或者

for ([key, value] of Object.entries(obj)) {
    console.log(key, value);
}

这一部分的内容还是得等标准正式发布才真正算数。

??来设置默认值

const data_2019 = remote_data || DEFAULT_VALUE;	// 如果remote_data正常值也可以取0,那就蛋疼了
const data_2020 = remote_data ?? DEFAULT_VALUE;

参考资料


本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 协议 。转载请注明出处!

FFMpeg 命令记录 上一篇
王者荣耀英雄分类 下一篇