是谁说 JavaScript 简单的?

这里写图片描述

给一个数组排排序

var a = [1, 11, 10, 2, 8, 4];
var b = a.sort();
console.log(b); 

我们用sort()来给一个数组 [1, 11, 10, 2, 8, 4] 排序,按理说应该是[1,2,4,8,10,11],但是请看效果:

咦哈哈哈哈哈哈哈!!!!!

意外

下面我们来改一改:

  var a = [1, 11, 10, 2, 8, 4];
  var b = [1, 11, 10, 2, 8, 4].sort((a, b) => a - b);
  console.log(b);

这里写图片描述

激动

new Date() 很棒棒

new Date() 可以接受:
· 没有参数: 返回当前时间
· 一个参数 x: 返回1970年1月1日 + x 毫秒。 了解 Unix 的人知道为什么。
· new Date(1, 1, 1) 返回 1901, 二月 , 1号\。因为,第一个参数表示1900年加1年,第二个参数表示这一年的第二个月(因此是二月) — 脑回路正常的人会从1开始索引 — ,第三个参数很明显是这个月的第一天,所以1 — 有时候索引确实从1开始 — 。
· new Date(2016, 1, 1) 不会给1900年加上2016。它仅代表2016年。

刺激

Replace 并不“替代”

举个例子,想要用Q替代q:

let s = "wuqiongqiongxiaokeai";
const replaced = s.replace('q', 'Q');
console.log(replaced);

但是replace只会替换第一个匹配的字符串。

这里写图片描述

想要替换所有的字符,需要用到正则匹配:s.replace(/q/g, 'Q')

这里写图片描述

比较的时候要注意

写几个比较典型的比较的例子:
console.log('abc' === 'abc');
console.log(1 === 1);
console.log([1, 2, 3] === [1, 2, 3]);
console.log({ a: 1 } === { a: 1 });  
console.log({} === {});

[1,2,3]和[1,2,3]是两个独立的数组。它们只是恰好包含相同的值。它们具有不同的引用,无法用===相比较。

结果自行查看:

这里写图片描述

数组不是原始数据类型

console.log(typeof {} === 'object');
console.log(typeof 'a' === 'string');
console.log(typeof 1 === 'number');
console.log(typeof [] === 'object');  

这里写图片描述

如果你想知道你的变量是不是数组,你仍然可以用Array.isArray(myVar)

闭包

谈到 bind

(未完。。。)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值