上官元恒 发布的文章

注释改键法

在写程序的注释时,经常遇到中英文切换问题

如://这是注释

'//'是英文,'这是注释'是中文。

默认中文输入法下,按'/'键打出的是顿号(、)。

我们需要通过改键使得 中文输入法下,按'/'键打出的是'/'。

以搜狗输入法为例:

打开属性设置-》常用-》自定义标点设置

1.png

将中文半角的'、'改为'/'

2.png

保存即可


下次输入注释时,切换到中文输入法状态,按'/'键输出的是'/'了

ES6 中 Arrow Function 的 this 作用域

<script>

var array = [1,21,31,456,6,52,3,41];
//数组的最大值:ES5
Array.prototype.max = function()
{
console.log(this);//array
return Math.max.apply(Math,this);
};
console.log('max',array.max());
//数组的最大值:ES6
Array.prototype.max = () =>
{
console.log(this);//window
return Math.max.apply(Math,this);
};
console.log('max',array.max());

</script>


一开始不能理解,为什么Arrow Function里的`this`指代`window`对象,

后来google了一番,

发现

`function()`里的`this`是在调用该方法确认的,

而,Arrow Function里的`this`是在运行脚本时确认的。

 

在`array.max()`调用时`this`才指代为array,

而,Arrow Function里的`this`是在脚本执行到时就已经指代了this为它的父级`window`。