JavaScript学习笔记-For& While
forfor循环,通过初始条件、结束条件和递增条件来循环执行语句块
var x = 0;var i;for (i=1; i<=10000; i++) { x = x + i;}x; // 50005000
遍历数组:
var arr = ['Apple', 'Google', 'Microsoft'];var i, x;for (i=0; i<arr.length; i++) { x = arr[i]; alert(x);}
for … invar arr = ['Apple', 'Google', 'Microsoft'];var i, x;for (i in arr) { x = arr[i]; //i遍历的是索引 alert(x);}
or
var o = { name: 'Jack', age: 20, cit ...
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’ ...