变量
- 非ASCII字符: \x41 -> A
- Unicode字符: \u4e2d -> 中
- `多行字符串,你懂的`
'这样可以${name}把变量嵌进去'
- 神奇特性
高阶函数!
function add(x, y, f) {
return f(x) + f(y);
}
- map()
//对每一个元素操作
- reduce()
//对(n,n+1)操作()
- filter()
//过滤返回false的函数
- sort()
//最好自己实现
- generator与yield
正则表达式
- /开头
- ()提取Group
- 由/.exec()提取出数组
JSON
- json对象转json*(indent=缩进)
JSON.stringify(value, filter, indent)
- json转json对象
JSON.parse('value')返回value的JavaScript对象
面向对象
- (ES6)
g class关键字直接写, 和后面两个是一样的
- 将xiaoming的原型指向Bird
xiaoming.prototype = Bird;
- 返回一个Bird对象的原型
Object.create(Bird)
操作DOM
选择DOM元素
document.getElementById();
document.getElementsByTagName();
document.getElementsByClassName();
querySelector();
querySelectorAll();
更新DOM
DOM_obj.innerHTML(); 对字符编码来避免XSS攻击
DOM_obj.innerText(); 不返回隐藏元素的文本
DOM_obj.textContent(); 返回所有文本
插入DOM
DOM_obj.appendChild(DOM_obj2); OM_obj2会从网页中删掉
删除DOM
parent.removeChild(parent.children[1]); 删完后children[1]变成children[0]
其他琐碎的科普
- Number类型统一按浮点数处理, 64位存储 ,整数是按 最大54位 来算最大最小数的,否则会丧失精度 某些操作(如数组索引还有位操作)是按32位处理的
- 浮点数范围:
as large as ±1.7976931348623157 × 10的308次方
as small as ±5 × 10的−324次方
- 精确整数范围:
The JavaScript number format allows you to exactly represent all integers between
−9007199254740992 and 9007199254740992 (即正负2的53次方)