1.for循环
for(var i = 0; i < 10; i++){ console.log(i);}var i = 0;for(; i < 10;){ console.log(i); i++;}while(i < 10){ console.log(i); i++;}// 死循环while(1){}// -----------var i = 1;for(; i;){ console.log(i); i++; if(i == 11){ break; // i = 0; 终止循环 }}// 1.从0开始做加法,加到什么时候总和 < 100:var sum = 0; for(var i = 0; i < 100; i++){ sum = sum + i; if(sum > 100){ break; } console.log(i, sum);}// 2.100以内的数挑出7可以整除的数或者是个位是7的数// 3.可以被 4, 5, 6整除的数// 4.打印0-100的数// ()只能有一句,不能写比较// {} 不能出现 i++ i--var i = 100;for(; i--; ){ console.log(i); }// 5.10的n次方// 6. n的阶乘// 7.789翻转// 8.打印三个数中的最大值// 9.打印 100 以内的质数// 只能被1和自己本身整除
while
while(i < 10){ console.log(i);} do{ 会执行一次}while()
引用值
array 数组
var arr = [1, 2, 3, 4, 5];// 取值console.log(arr[1]); // 2// 赋值arr[1] = 100;console.log(arr[1]); // 100// 遍历数组arr.length; // 5for(var i = 0; i < arr.length; i++){ console.log(arr[i]);}
object 对象
var person = { name: 'xiaoxiong', // 属性名/键名 : 属性值/键值, age: 18, height: 180, weight: 140, job: 'WEB工程师'}person.name = 'xiaowang';
typeof
typeof(123);// number string boolean object undefined function // object = 引用类型 // bug, 指向空对象的指针console.log(typeof(null)); // objectconsole.log(typeof(1 - 1)); // numberconsole.log(typeof(1 - '1'));// numberconsole.log(typeof('1' - '1'));// numberconsole.log(typeof(typeof(a))); // stringconsole.log(typeof(typeof(123))); // string
显示类型转换
// 1.Number()var a = '123';Number('123'); // number-123var a = '.12';Number(a); // 0.12null => 0undefined => NaNtrue => 1false => 0[] => 0{} => NaN// 2.parseInt 非四舍五入true => NaN false => NaNnull => NaNundefined => NaNNaN => NaNconsole.log(parseInt('10', 16)); // 以16进制进行转换 // 基底范围 2-36parseInt('abc123'); // NaNparseInt('123abc23'); // 123// 3. parseFloat 四舍五入var num = parseFloat('3.1415926');num.toFixed(2); // 3.14var num = parseFloat('3.1492332');num.toFixed(2); // 3.15// 4. Stringvar str = '3.14';// toString(radix);console.log(str.toString()); // '3.14'// undefined, null 报错({}).toString() => // [object Object]// 5.Boolean()// false => undefined, null, NaN, '', 0, false,
隐式类型转换
var a = '123';a++;console.log(a); // 124var a = 1 == '1'; // truevar a = 1 === '1'; // 这个不进行转换 false// NaN 不和任何相等var a = NaN == NaN; // falsevar a1 = 1 > 2 > 3; // falsevar a2 = 3 > 2 == 1; // true// undefined, null 既不大于0,也不小于0,也不等于0.// 但是 undefined == nullvar a1 = undefined == 0; // falsevar a2 = null == 0; // falsevar a3 = undefined == null; // true
isNaN()
// Number(值) => NaN => boolconsole.log(isNaN(NaN)); // trueconsole.log(isNaN(123); // falseconsole.log(isNaN('123')); // falseconsole.log(isNaN('a')); // trueconsole.log(isNaN(null)); // falseconsole.log(isNaN(undefined));// true
斐波那契数列 黄金分隔数列 兔子序列
// 1 1 2 3 5 8 13 21 34var n1 = 1, n2 = 1, n3;