1.for循环

  1. for(var i = 0; i < 10; i++){
  2. console.log(i);
  3. }
  4. var i = 0;
  5. for(; i < 10;){
  6. console.log(i);
  7. i++;
  8. }
  9. while(i < 10){
  10. console.log(i);
  11. i++;
  12. }
  13. // 死循环
  14. while(1){
  15. }
  16. // -----------
  17. var i = 1;
  18. for(; i;){
  19. console.log(i);
  20. i++;
  21. if(i == 11){
  22. break; // i = 0; 终止循环
  23. }
  24. }
  25. // 1.从0开始做加法,加到什么时候总和 < 100:
  26. var sum = 0;
  27. for(var i = 0; i < 100; i++){
  28. sum = sum + i;
  29. if(sum > 100){
  30. break;
  31. }
  32. console.log(i, sum);
  33. }
  34. // 2.100以内的数挑出7可以整除的数或者是个位是7的数
  35. // 3.可以被 4, 5, 6整除的数
  36. // 4.打印0-100的数
  37. // ()只能有一句,不能写比较
  38. // {} 不能出现 i++ i--
  39. var i = 100;
  40. for(; i--; ){
  41. console.log(i);
  42. }
  43. // 5.10的n次方
  44. // 6. n的阶乘
  45. // 7.789翻转
  46. // 8.打印三个数中的最大值
  47. // 9.打印 100 以内的质数
  48. // 只能被1和自己本身整除

while

  1. while(i < 10){
  2. console.log(i);
  3. }
  4. do{
  5. 会执行一次
  6. }while()

引用值

array 数组

  1. var arr = [1, 2, 3, 4, 5];
  2. // 取值
  3. console.log(arr[1]); // 2
  4. // 赋值
  5. arr[1] = 100;
  6. console.log(arr[1]); // 100
  7. // 遍历数组
  8. arr.length; // 5
  9. for(var i = 0; i < arr.length; i++){
  10. console.log(arr[i]);
  11. }

object 对象

  1. var person = {
  2. name: 'xiaoxiong',
  3. // 属性名/键名 : 属性值/键值,
  4. age: 18,
  5. height: 180,
  6. weight: 140,
  7. job: 'WEB工程师'
  8. }
  9. person.name = 'xiaowang';

typeof

  1. typeof(123);
  2. // number string boolean object undefined function
  3. // object = 引用类型
  4. // bug, 指向空对象的指针
  5. console.log(typeof(null)); // object
  6. console.log(typeof(1 - 1)); // number
  7. console.log(typeof(1 - '1'));// number
  8. console.log(typeof('1' - '1'));// number
  9. console.log(typeof(typeof(a))); // string
  10. console.log(typeof(typeof(123))); // string

显示类型转换

  1. // 1.Number()
  2. var a = '123';
  3. Number('123'); // number-123
  4. var a = '.12';
  5. Number(a); // 0.12
  6. null => 0
  7. undefined => NaN
  8. true => 1
  9. false => 0
  10. [] => 0
  11. {} => NaN
  12. // 2.parseInt 非四舍五入
  13. true => NaN
  14. false => NaN
  15. null => NaN
  16. undefined => NaN
  17. NaN => NaN
  18. console.log(parseInt('10', 16)); // 以16进制进行转换
  19. // 基底范围 2-36
  20. parseInt('abc123'); // NaN
  21. parseInt('123abc23'); // 123
  22. // 3. parseFloat 四舍五入
  23. var num = parseFloat('3.1415926');
  24. num.toFixed(2); // 3.14
  25. var num = parseFloat('3.1492332');
  26. num.toFixed(2); // 3.15
  27. // 4. String
  28. var str = '3.14';
  29. // toString(radix);
  30. console.log(str.toString()); // '3.14'
  31. // undefined, null 报错
  32. ({}).toString() => // [object Object]
  33. // 5.Boolean()
  34. // false => undefined, null, NaN, '', 0, false,

隐式类型转换

  1. var a = '123';
  2. a++;
  3. console.log(a); // 124
  4. var a = 1 == '1'; // true
  5. var a = 1 === '1'; // 这个不进行转换 false
  6. // NaN 不和任何相等
  7. var a = NaN == NaN; // false
  8. var a1 = 1 > 2 > 3; // false
  9. var a2 = 3 > 2 == 1; // true
  10. // undefined, null 既不大于0,也不小于0,也不等于0.
  11. // 但是 undefined == null
  12. var a1 = undefined == 0; // false
  13. var a2 = null == 0; // false
  14. var a3 = undefined == null; // true

isNaN()

  1. // Number(值) => NaN => bool
  2. console.log(isNaN(NaN)); // true
  3. console.log(isNaN(123); // false
  4. console.log(isNaN('123')); // false
  5. console.log(isNaN('a')); // true
  6. console.log(isNaN(null)); // false
  7. console.log(isNaN(undefined));// true

斐波那契数列 黄金分隔数列 兔子序列

  1. // 1 1 2 3 5 8 13 21 34
  2. var n1 = 1,
  3. n2 = 1,
  4. n3;