计算机专业基础_数据结构与算法入门

位运算符
按位与&(只有两个均为1时结果才为1)
按位或 | (只要有一个为1结果就为1)
按位异或^ (只有对应二进制位相异时结果为1)
Js严格模式
“严格模式”使用指令:“use strict”;体现了js更合理、更安全、更严谨的发展方向,同样的代码,在“严格模式”中,可能会有不一样的运行结果;一些在“正常模式”下可以运行的语句,在“严格模式”下将不能运行。

  • 指令位置0-1:直接写在中的第一行;(表示该篇js都处于严格模式下)0-2:写在方法中的第一行;(表示该方法下的代码格式都处于严格模式)
  • 严格模式下,不能使用未声明的变量
  • 不允许删除 变量或对象 (强调:只有configurable设置为true的对象属性,才能被删除。)
  • 严格模式下,不允许删除函数
  • 严格模式下,不允许参数名相同
  • 严格模式下,不允许使用八进制
  • 严格模式下,不允许使用转义字符
  • 严格模式下,不允许对只读属性赋值
  • 严格模式下,不允许对一个使用getter方法读取的属性进行赋值
  • 严格模式下,不允许删除一个不允许删除的属性
  • 严格模式下,变量名不能使用 "eval" 字符串
  • 严格模式下,变量名不能使用 "arguments" 字符串
  • 由于一些安全原因,在作用域 eval() 创建的变量不能被调用
  1. 看程序写结果(3分)

    var a = [1, 2, 3, 4, 5, 6, 7, 8]; 
    for(var i = 2; i < 8; i++) {
     a[i] += a[i - 1] + a[i - 2]; 
    }
    for(var i = 0; i < 8; i++) { 
     document.write(a[i]); 
     document.write("<br>");
    }
    结果 
    1 
    2 
    6 
    12 
    23 
    41 
    71 
    120
  2. 看程序写结果(3分)

    var a = [[0,1,2,3,4,5,6,7,8],
             [0,1,2,3,4,5,6,7,8], 
             [0,1,2,3,4,5,6,7,8], 
             [0,1,2,3,4,5,6,7,8], 
             [0,1,2,3,4,5,6,7,8], 
             [0,1,2,3,4,5,6,7,8], 
             [0,1,2,3,4,5,6,7,8], 
             [0,1,2,3,4,5,6,7,8]
    ];
    for(var i = 0; i < 8; i++) { 
     for(var j = 0; j < 9; j++) {
         a[i][j] = i - j; 
     }
    }
    for(var i = 0; i < 8; i++) { 
     for(var j = 0; j <= i; j++) {
         document.write(a[i][j]); 
     }
     document.write("<br>"); 
    }
    结果
    0
    10
    210
    3210
    43210
    543210
    6543210
    76543210
  3. 看程序写结果(2分)

    var str = "The full name of China is the People's Republic of China."; 
    var pos = str.indexOf("China");
    document.write(pos);
    结果 17
  4. 看程序写结果(2分)

    var x = 8 & 1; document.write(x);
    结果 1000 & 0001 -> 0000
    0
  5. 看程序写结果(2分)

    var person = new Object();
    person.name = "张三";
    person.gender = "男";
    person.age = 22;
    person.height = 175; 
    var test = person; 
    test.age = 23;
    document.write(person.age);
    结果 23
    
    
  1. 看程序写结果(2分)

    var i = 4;
    do { 
     i++;
    } while (i < 10); 
    document.write(i);
    结果 10
  2. 对数组[8, 7, 12, 1, 5, 0, 6, 9, 2]进⾏冒泡排序,顺序从⼤到⼩(3分)

    var arr= [8,7,12,1,5,0,6,9,2];
    for(var i=0;i<8;i++){
    for(var j=i+1;j<9;j++){
     var cur = arr[i]
     if( cur<arr[j]){
       var temp = arr[j]
       arr[j] = cur;
       arr[i] = temp;
     }
    }
    }
    for(var i=0;i<9;i++){
    document.write(arr[i]);
    document.write("<br>"); 
    }
  3. 对数组[8, 7, 12, 1, 5, 0, 6, 9, 2]进⾏快速排序,顺序从⼩到⼤(5分)

  4. a=1,b=2,使⽤⾄少三种⽅法交换变量a和b的值(5分)

    方法1
    var a = 1;
    var b = 2;
    var temp;
    temp = a;
    a = b;
    b = temp;
    方法2
    var a = 1;
    var b = 2;
    a = a + b;
    b = a - b;
    a = a - b;
    方法3
    var a = 1;
    var b = 2;
    a = a ^ b;
    b = a ^ b;
    a = a ^ b;
    
    
    
  1. 打印出下⾯的树型结构(不能硬编码,⽂字前的符号不⽤打,但需要格式缩进,⽅便观看)(提示:先定义出树型数据 结构,8分)
    中国
    北京市 朝阳区 海淀区
    湖北省 武汉市 江汉区 江夏区
    湖南省 ⻓沙市 株洲市
    美国
    加利福尼亚州 得克萨斯州
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务