MDN笔记

6 个 false

false;
undefined;
null;
0;
(""); // 空字符串 ' '中间有空格的是true
NaN; //  这个也是false

不要混淆原始的布尔值和 Boolean 对象的真假

留坑 相等比较时的隐式转换

var b = new Boolean(false)
if(b) // 真
if(b==false) //true
if(b==true) //假

for...in 和 for...of 区别

var ary = [3, 5, 7];
ary.foo = "bar";
// 此时的length还是3
for (var i in ary) {
    console.log(i); //'0','1','2','foo'
}
for (var i of ary) {
    console.log(i); // 3, 5, 7
}
// for...of 的输出没有bar

toFixed()

var a = 123,
    b = a.toFixed(2);
// b 123.00

字符串

str.indexOf(searchValue [, fromIndex])
区分大小写,没找到返回-1
数组也有这个方法

str.startsWith(searchString[, position])

str.endsWith(searchString[, length])
// 这个要特别注意的是  第二个可选参数是length而不是索引
const str1 = 'Cats are the best!';
console.log(str1.endsWith('best', 17));
// expected output: true

str.includes(searchString[, position])


slice
str.slice(beginIndex[, endIndex])
slice()不传参,就是复制一个字符串
结束索引不写,就是到结束的位置
开始的索引和结束的索引都可以是负数
倒着数的第一个就是-1,第二个就是-2
var str = 'The morning is upon us.';
str.slice(-3);     // 返回 'us.'
str.slice(-3, -1); // 返回 'us'
str.slice(0, -1);  // 返回 'The morning is upon us'

substr() `未来将可能会被移除掉`使用 substring() 替代它.
str.substr(start[, length]) // 开始索引,想截取的字符数


str.substring(indexStart[, indexEnd])
// 和slice差不多。但是不可以取负数

str.padEnd(targetLength [, padString])
'abc'.padEnd(10);          // "abc       "
'abc'.padEnd(10, "foo");   // "abcfoofoof"
'abc'.padEnd(6, "123456"); // "abc123"
'abc'.padEnd(1);           // "abc"

padStart()
'abc'.padStart(10);         // "       abc"
'abc'.padStart(10, "foo");  // "foofoofabc"
'abc'.padStart(6,"123465"); // "123abc"
'abc'.padStart(8, "0");     // "00000abc"
'abc'.padStart(1);          // "abc"

str.repeat(count)
count为0时,返回一个空字符串

数组

数组也有 slice 方法,用法和字符串的一样,属于选取,不会改变原数组

但是数组还有一个 splice 方法,属于截取,会改变原数组

toString()

ary.toString()

返回一个包含数组中所有元素的字符串,每个元素通过逗号分隔。

对象的 key 可以是一个空字符串

枚举对象 key 的几个方法的区别




在 es5 之前,没有原生的方法枚举一个对象的所有属性。可以通过下面的函数完成

function listAllProperties(o) {
    var objectToInspect;
    var result = [];

    for (
        objectToInspect = o;
        objectToInspect !== null;
        objectToInspect = Object.getPrototypeOf(objectToInspect)
    ) {
        result = result.concat(Object.getOwnPropertyNames(objectToInspect));
    }

    return result;
}
如果只想列出可访问的属性,那么只需要去除数组中的重复元素即可

对象中的 key 设置为数字


数字会转变成字符串

其他

posted @ 2020-11-10 20:27  飞行者二鸭  阅读(130)  评论(0编辑  收藏  举报