初读犀牛书笔记--类型/值和变量

1.Math数字

  1. 整型直接量
    16进制 0x 或 0X 0-9和a(A)~f(F)之间字母构成
    8 进制 0开头, ES6严格模式下明令禁止使用(8进制有些支持,有些不支持)
  2. 函数
	Math.pow(2,53)  	// 2的53次幂
	Math.round(.6)  	// => 1.0: 四舍五入
	Math.ceil(.6)   	// => 1.0: 向上取整
	Math.floor(.6)		// => 0.0: 向下取整
	Math.abs(-5)		// => 5: 求绝对值
	Math.max(x, y, z) 	// 返回最大值
	Math.min(x, y, z) 	// 返回最小值
	Math.random()		// 生成一个大于等于0小于1.0的伪随机数
	Math.PI				// π: 圆周率 
	Math.E				// e: 自然对数的底数
	Math.sqrt(3)		// 3的平方根
	Math.pow(3, 1/3)	// 3的n次根
	Math.sin(0)			// 三角函数,还有 Math.cos , Math.atan等
	Math.log(10)		// 10的自然对数
	Math.log(100)/Math.LN10 // 以10为底100的对数
	Math.exp(3)			// e的三次幂
  1. 日期和时间
	let later = new Date()
	later.getFulllYear()	// => 2019
	later.getMonth()		// => 6: 从0开始计算的月份
	later.getDate()			// => 6: 从1开始计算的天数
	later.getDay()			// => 5: 得到星期几,0代表星期日
	later.getHours()		// => 当地时间
	later.getUTCHours()		// 使用UTC表示小时的时间,基于时区

4.字符串方法

let s = "Hello, world"
s.charAt(1)			// => e: 第二个字符
s.charAt(s.length - 1) // => d: 最后一个字符
s.substring(1, 3)		// => ell: 第2-4字符
s.slice(1, 4)			// => ell: 同上
s.slice(-3)				// => rld: 同上最后三个字符
s.indexOf("l")			// => 2:   字符l首次出现的位置
s.lastIndexOf("l")		// => 10:   字符l最后一次出现的位置
s.indexOf("l", 3)		// => 3:在位置3及之后首次出现字符l的位置
s.split(",")			// => ["Hello", "world"]分割成数组
s.replace("H", "h")		// => hello world全文字符替换
s.toUpperCase()			// => HELLO WORLD

2.运算符

  1. 分为算数表达式、比较表达式、逻辑表达式、赋值表达式
  2. 一元操作符、赋值和三元条件运算符都具有从右往左的结合性
  3. 注意事项
let a = 1
let b = (a++) + a + (a++) + (a++)
          1     2     2       3
console.log(a) 	// 4
console.log(b) 	// 8
let a = 1
let b = a + (a++) + (a++) + (a++)
        1     1       2        3
console.log(a) 	// 4
console.log(b) 	// 7

删除delete

delete为一元操作符,它用来删除对象属性或者数组元素

let obj = {x: 1, y: 2}
delete obj.x  			// 删除一个属性
"x" in obj 				// => false 这个属性在对象中不存在

let a = [1, 2, 3]
delete a[1]
2 in a 					// => false 元素2在数组中已经不存在
注意:a.length = 3 数组长度并没有改变

严格模式下,如delete操作是非法的,比如变量、函数或函数参数,delete操作将抛出语法错误(SyntaxError)

let o = {a: 1, b: 2}
delete o.a				// 返回true
typeof o.x				// 属性不存在,返回false
delete o.x				// 删除不存在的属性,返回true

this.x = 1
delete x 				// 非严格模式,返回true
delete this.x			// 严格模式下删除

你可能感兴趣的:(js)