红宝书

vue

# var&let

  • let

块级作用域

  • var

函数作用域 变量提升

# null&undefined

  • null-空对象指针,声明对象的时候时候赋值,let obj = null
  • undefined-声明了,未赋值。

# 模板字面量标签函数

  let a = 6, b = 9
  function simpleTag(strings, ...val2) {
    console.log(strings)//["","+","=",""]
    console.log(val2)//[6915]
    return 'foobar'
  }
  let taggedResult = simpleTag`${a} + ${b} = ${a+b}`
1
2
3
4
5
6
7

# symbol

//demo1
let s1 = Symbol()
let s2 = Symbol()
s1 == s2//false

//demo2 
  ({a:1} == {a:1})//false

//symbol 可以作为对象的key
const obj = {};
const sym = Symbol();
obj[sym] = 'foo';
obj.bar = 'bar';
console.log(obj); // { bar: 'bar' }
console.log(sym in obj); // true
console.log(obj[sym]); // foo
console.log(Object.keys(obj)); // ['bar'],获取不到symbol
console.log(Reflect.ownKeys(obj)); // ['bar','Symbol()]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

# Object

  • 属性
let obj = {a:1}
obj.hasOwnProperty('a')//true
obj.constructor() //{} 用于创建当前对象的函数
obj.toString() //返回的对象字符串表示
1
2
3
4

# 操作符

//幂运算 **
Math.pow(3,2)
3**2 //9  3的2次方
//加性操作符
5+ "5" //'55'
//减
5-'' //5
5- '2' //3
//等于
NaN == NaN //false
1
2
3
4
5
6
7
8
9
10

# 以下为String的用法

# chartAt

  • 找出索引位置的值
'abcd'.chartAt(2) //c
1

# concat

  • 连接
'a'.concat('b')// 'ab'
1

# indexOf,lastIndexOf

  • 找出当前字符的位置
'abc'.indexOf('b') //1
'abcbb'.lastIndexOf('b')//4
'abcbb'.lastIndexOf('cbb')//2
1
2
3

# startWith,endWith,includes

  • 是否包含
'abccba'.startsWith('abc') //true
'abcbb'.includes('b')//true
1
2

# trim()

  • 删除前后空格

# repeat(num)

  • 复制当前字符串
var str = 'abc '
star.repeat(10)
//"abc abc abc abc abc abc abc abc abc abc "
1
2
3

# padStart(len, val),padEnd()

  • 填充字符串
var str = 'abc'
str.padStart(5) //"  abc"
str.padEnd(10, 'de')// "abcdededed"
1
2
3

# localeCompare()

  • 也是比较,本人觉得没必要用
Last Updated: 3/28/2025, 2:34:41 PM