JavaScript学习笔记-Array
基本操作>var arr=[1,2,3,'hjh']1,2,3,"hjh">arr.length4>arr.indexOf(3)2>arr.indexOf('no') //不存在返回-1-1
可以通过索引把对应的元素修改为新的值,因此,对Array的索引进行赋值会直接修改这个Array:
var arr = ['A', 'B', 'C'];arr[1] = 99;arr; // arr现在变为['A', 99, 'C']arr[5] = 'x';arr; // arr变为['A', 99, 'C', undefined, undefined, 'x']
大多数其他编程语言不允许直接改变数组的大小,越界访问索引会报错。然而,JavaScript的Array却不会有任何错误。在编写代码时,不建议直接修改Array的大小,访问 ...
JavaScript学习笔记-If-else
if clauseif () { ... } else { ... }
e.g. judge the teenager
var age = 20;if (age >= 18) { alert('adult');} else { alert('teenager');}//or 单行情况下var age = 20;if (age >= 18) alert('adult'); else alert('teenager');
多重判断if () { ... } else if (){ ...}else { ... }
e.g.
var age = 3;if (age >= 18) { alert('adult');} else if (age >= 10) { ...
JavaScript学习笔记-Iterable
iterable类型遍历Array可以采用下标循环,遍历Map和Set就无法使用下标。ES6标准引入了新的iterable类型,Array、Map和Set都属于iterable类型。iterable类型可以用for ... of循环来遍历。
for…of…var a = ['A', 'B', 'C'];var s = new Set(['A', 'B', 'C']);var m = new Map([[1, 'x'], [2, 'y'], [3, 'z']]);for (var x of a) { // 遍历Array alert(x);}for (var x of s) { // 遍历Set alert(x);}for (var x of m) { // 遍历Map alert(x[0] + '=' + x[1]);& ...
JavaScript学习笔记-Map& Set
MapES6标准引进的key-value数据类型,相当于python中的dictionary增加查找速度,本质上是将键值利用哈希算法类似变量存储。
var m = new Map([['Michael', 95], ['Bob', 75], ['Tracy', 85]]);//初始化Map需要一个二维数组m.get('Michael'); // 95
或者直接初始化一个空Map。Map具有以下方法
var m = new Map(); // 空Mapm.set('Adam', 67); // 添加新的key-valuem.set('Bob', 59);m.has('Adam'); // 是否存在key 'Adam': truem.get('Adam'); // 67m.delete('Adam'); // 删除key 'Adam'm.get('Adam ...
JavaScript学习笔记-Object
对象javaScript的对象是一种无序的集合数据类型,它由若干键值对组成
var xiaoming = { name: '小明', birth: 1990, 'middle-school': 'No.1 Middle School', height: 1.70, weight: 65, score: null};
注意,最后一个键值对不需要在末尾加,,如果加了,有的浏览器(如低版本的IE)将报错。
使用属性>xiaoming.name; '小明'>xiaoming['name']; '小明'>xiaoming.birth; 1990>xiaoming['middle-school']; 'No.1 Middle School'
属性名middle-school不是一个有效的变量,就需要用’’括起来。访问这个属性也无法使用.操作符,必须用[‘xxx’ ...