1.输出
const obj1={a:1,b:20,c:30}
const obj2=obj1
obj2.b=100
const obj3={...obj1}
console.log(obj1')
console.log(obj2)
console.log(obj3)
answer:
2.null和undefined
写出以下输出:
null==undefined //true
null===undefined //false
3.js的假值有哪些?
false、null、undefined、NaN、0、“”(空字符串)
4.js中字符串的操作方法有哪些?写出他们的作用
1.length
获取字符串长度
2.str[idx]、charAt()
属性访问、返回字符串中指定下表位置的字符串
3.indexOf()、lastIndexOf()
返回字符串中第一个出现子串的索引、
返回字符串中最后一个出现子串的索引
4.search()
同indexof()、但search不支持设置从第二个开始位置参数
5.slice()
提取字符串的某个部分,并在新字符串中返回被提取的部分。
slice(a,b) //获取范围[a,b)
var str = "Apple, Banana, Mango";
var res = str.slice(7,13); //res "Banana
6. substr()
substr(a,b) //截取字符串,范围是从下标为a的字符开始,截取长度为b
可为负数
该⽅法设置两个参数:起始索引(开始位置
),截取的长度。
var str = "Hello world!";
str.subst(3,4); //"lo w"
7.replace()
⽤另⼀个值替换在字符串中指定的值,不会改变调⽤它的字符串。它返回的是新字符串。默认地,
只替换⾸个匹配
var str = "Hello world! hello";
var res = str.replace('llo','*'); // "He* world! hello"
8.concat()
连接字符
9.trim()
删除两端空白
10.split()
截取字符串为数组
5.js中数组的操作方法
1.arr.push()
数组末尾添加
2.arr.pop()
数组末尾删除
3.arr.unshift()
数组开始处添加
4.arr.shift()
数组开始删除
5.arr.concat()
数组拼接
6.arr.join()
指定字符连接变成字符串
7.arr.reverse()
数组倒序
8.arr.sort()
排序、按照Unicode
9.arr.map()
循环、返回新数组
10.arr.slice()
截取数组
6.js写一个队列
/*一个用数组实现的队列*/
function Queue(){
this.dataStore = [];//存放队列的数组,初始化为空
this.enqueue = enqueue;//向队列尾部添加一个元素
this.dequeue = dequeue;//删除队首的元素
this.theFront = theFront;//读取队首的元素
this.back = back;//对取队尾的元素
this.toStrings = toStrings;//显示队列内的所有元素
this.empty = empty;//判断队列是否为空
}
function enqueue(element){
this.dataStore.push(element);
}
function dequeue(){
this.dataStore.shift();
}
function theFront(){
return this.dataStore[0];
}
function back(){
return this.dataStore[this.dataStore.length-1];
}
function toStrings(){
return this.dataStore;
}
function empty(){
if(this.dataStore.length == 0){
return true;
}else{
return false;
}
}
/*测试程序*/
var q = new Queue();
q.enqueue("aa");
q.enqueue("bb");
q.enqueue("cc");
console.log(q.toStrings());//[ 'aa', 'bb', 'cc' ]
q.dequeue();
console.log(q.toStrings());//[ 'bb', 'cc' ]
console.log(q.theFront());//bb
console.log(q.back());//cc
7.js写一个冒泡排序
var arr2=[5,6,9,8,12,88,874,16];
for(var i=0;i<arr2.length-1;i++){
for(var j=0;j<arr2.length-i-1;j++){
if(arr2[j]>arr2[j+1]){
[arr2[j],arr2[j+1]]=[arr2[j+1],arr2[j]] //解构赋值
}
}
}console.log(arr2)
其他:
你对自己的职业规划?
对薪资的要求?
你有啥想问我的吗?
第一次面试紧张、前后共40分钟、拿到了一个实习offer、回头复盘感觉需要提高的地方有许多。
下次记得问几点上下班?双休吗?
电脑是统一配还是用自己的?
加油!再接再厉!