前端面试题(6)

51.编写一个可以获取1-任意值之间随机数的函数

function getRandom(maxNum) {
    return   Math.ceil(Math.random() * maxNum)
}

52.什么是数组的深浅拷贝

数组的拷贝,就是通过复制的方式,复用数组中的数据
浅拷贝:引用赋值,将一个数组在引用变量中存储的内存地址赋值给另一个变量,通过两个变量都可以操作这个数组中的数据
深拷贝:真实数据赋值,堆内存中直接将原始数组又复制了一个新的数组,两个数组互相独立,操作数据互不影响,代码中创建了一个新的数组,通过循环代码将原来数组的数据赋值给了新的数组
数组的拷贝主要区分了浅拷贝和深拷贝
所谓的浅拷贝实质上就是引用赋值,就是复制了数组的引用地址,所谓的深拷贝是真实的数据赋值,相当于创建了一个一模一样数据的新数组

53.数组有哪些可以操作的函数?分别有什么含义?

push()/unshift()/pop()/shift() 增加和删除数组头尾数据的函数
splice() 增加/删除/替换数组中的任意数据
join() 拼接数组中的数据
slice() 截取数组中的部分数据
indexOf()获取数组元素对应索引
sort() 数组内置的排序方法
reverse()翻转数组
Array.isArray() 判断数据是否是数组

54.编写函数,完成数组中重复数据的剔重功能

var arr = [2,3,6,6,7,3,4,5]
function fn(arr) {
    var arr2 = []
    for(var i=0;i<arr.length;i++) {
        if(arr2.indexOf(arr[i]) < 0){
            arr2.push(arr[i])
        }
    }
    return arr2
}
var newArr = fn(arr)
console.log(nArr);

55.下列不是Date对象的操作函数的是(A)

A getYear()
B getMonth()
C getDay()
DgetDate()

56.不是JavaScript语言特点的是(B)

A 基于对象
B 移动端优先
C 事件驱动
D 跨平台

57 哪些不是JavaScript基本类型(B)

A String
B Float
C Number
D Null

58.正则表达式符号\w表示的是(C)

A 任意单个字符
B 任意单个字母
C 任意单个字母、数字、下划线
D 任意单个字母、数学、下划线、$符号

59.我们可以在下列哪个HTML元素中放置Javascript代码(B)

A
B

60.简述JavaScript常见的编程规范

尽量使用外链JS代码,达到和HTML代码分离的目的
尽量的命名见名知意、驼峰命名法
函数名称,见名知意、驼峰命名法
表达式中的运算符两侧添加空格
语法中选择结构和循环结构内部使用花括号包含、适当的代码缩进

上一篇
下一篇

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值