计算机专业基础_数据结构与算法入门
位运算符
按位与&(只有两个均为1时结果才为1)
按位或 | (只要有一个为1结果就为1)
按位异或^ (只有对应二进制位相异时结果为1)
Js严格模式
“严格模式”使用指令:“use strict”;体现了js更合理、更安全、更严谨的发展方向,同样的代码,在“严格模式”中,可能会有不一样的运行结果;一些在“正常模式”下可以运行的语句,在“严格模式”下将不能运行。
- 指令位置0-1:直接写在中的第一行;(表示该篇js都处于严格模式下)0-2:写在方法中的第一行;(表示该方法下的代码格式都处于严格模式)
- 严格模式下,不能使用未声明的变量
- 不允许删除 变量或对象 (强调:只有configurable设置为true的对象属性,才能被删除。)
- 严格模式下,不允许删除函数
- 严格模式下,不允许参数名相同
- 严格模式下,不允许使用八进制
- 严格模式下,不允许使用转义字符
- 严格模式下,不允许对只读属性赋值
- 严格模式下,不允许对一个使用getter方法读取的属性进行赋值
- 严格模式下,不允许删除一个不允许删除的属性
- 严格模式下,变量名不能使用 "eval" 字符串
- 严格模式下,变量名不能使用 "arguments" 字符串
- 由于一些安全原因,在作用域 eval() 创建的变量不能被调用
看程序写结果(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
看程序写结果(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
看程序写结果(2分)
var str = "The full name of China is the People's Republic of China."; var pos = str.indexOf("China"); document.write(pos); 结果 17
看程序写结果(2分)
var x = 8 & 1; document.write(x); 结果 1000 & 0001 -> 0000 0
看程序写结果(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
看程序写结果(2分)
var i = 4; do { i++; } while (i < 10); document.write(i); 结果 10
对数组[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>"); }
对数组[8, 7, 12, 1, 5, 0, 6, 9, 2]进⾏快速排序,顺序从⼩到⼤(5分)
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;
- 打印出下⾯的树型结构(不能硬编码,⽂字前的符号不⽤打,但需要格式缩进,⽅便观看)(提示:先定义出树型数据 结构,8分)
中国
北京市 朝阳区 海淀区
湖北省 武汉市 江汉区 江夏区
湖南省 ⻓沙市 株洲市
美国
加利福尼亚州 得克萨斯州