源码

第1题

(1) Number()

Number() 函数将对象参数转换为表示对象值的数字。如果该值无法转换为合法数字,则返回 NaN。

1
console.log(Number(true), Number(null), +undefined)

1.(1)

(2)Boolean()

1
console.log(Boolean('100'), Boolean(100), Boolean(null), !!undefined)

1.(2)

(3)parseInt()

  • 函数可解析一个字符串,并返回一个浮点数
  • 注意: 字符串中只返回第一个数字。
  • 注意: 开头和结尾的空格是允许的。
  • 注意: 如果字符串的第一个字符不能被转换为数字,那么 parseFloat() 会返回 NaN。
1
console.log(parseInt(123.6), parseInt(0b1011011), parseInt(0X2A), parseInt(0X2A, 8))

1.(3)

(4)parseFloat()

  • 函数解析字符串并返回浮点数。
  • 注意:只返回字符串中的第一个数字!
  • 注释:允许前导和尾随空格。
  • 注释:如果第一个字符不能转换为数字,parseFloat() 返回 NaN。
1
console.log(parseFloat('123.6'), parseFloat('100px'), parseFloat(010))

1.(4)

(5)eval()

eval() 函数计算 JavaScript 字符串,并把它作为脚本代码来执行。

1
console.log(eval('87*99+2'))

1.(5)

(6)isNaN()

  • isNaN() 函数可确定值是否为非数字(Not-a-Number)。
  • 如果该值等于 NaN,则此函数返回 true。否则返回 false。
  • 此函数不同于 Number 特定的 Number.isNaN() 方法。
  • 全局 isNaN() 函数将测试值转换为数字,然后对其进行测试。
  • Number.isNaN() 不会将值转换为数字,并且不会为任何非数字类型的值返回 true。
1
console.log(isNaN(null), isNaN('123'), isNaN('abc'), isNaN('a1b2c3'))

1.(6)

第2题

(1)

1
2
3
4
5
6
var arr1 = []
console.log(arr1, arr1.length)
var arr2 = [1, 2, 3]
console.log(arr2[0], arr2.length)
var arr3 = new Array()
console.log(arr3[1], arr3.length)

2.(1)

(2)

shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。

1
2
arr2.shift();
console.log(arr2)

2.(2)

第3题

1
2
3
4
var date = new Date();
var hours = date.getHours();//获取小时
var minutes = date.getMinutes();//获取分钟
console.log(hours + ':' + minutes)

3

第4题

(1)

1
2
3
4
5
var reg1 = /^\d{4}$/
console.log(reg1.test('1234'),
reg1.test('1a34'),
reg1.test('12345')
)

4.(1)

(2)

  • i 是一个修饰符 (搜索不区分大小写)。
  • [abc] 查找方括号之间的任何字符。
  • [^abc] 查找任何不在方括号之间的字符。
  • [0-9] 查找任何从 0 至 9 的数字。
  • [a-z] 查找任何从小写 a 到小写 z 的字符。
  • [A-Z] 查找任何从大写 A 到大写 Z 的字符。
  • [A-z] 查找任何从大写 A 到小写 z 的字符。
  • [adgk] 查找给定集合内的任何字符。
  • [^adgk] 查找给定集合外的任何字符。
  • (red|blue|green) 查找任何指定的选项。
  • \d 查找数字。
  • n$ 匹配任何结尾为 n 的字符串。
1
2
3
4
var reg2 = new RegExp("^[sp]\\d{1,4}$", "i");
console.log(reg2.test('p123'),
reg2.test('1234'),
reg2.test('S10'))

4.(2)

(3)

1
2
3
4
var reg3 = /^(133|153|189|180)\d{8}$/
console.log(reg3.test('13380281109'),
reg3.test('17880281109'),
reg3.test('15300000000'))

4.(3)

第5题

  • substring() 方法用于提取字符串中介于两个指定下标之间的字符。
  • substring() 方法返回的子串包括 开始 处的字符,但不包括 结束 处的字符。
  • lastIndexOf() 从后向前搜索字符串,并从起始位置(0)开始计算返回字符串最后出现的位置。
1
2
3
4
var QQEmil = "2445631968@qq.com"
var number = QQEmil.lastIndexOf("@");
var QQ = QQEmil.substring("", number)
console.log(QQ)

5

第6题

  • random获取随机数floor(x)
  • 对 x 进行下舍入。
1
2
var m = Math.floor(Math.random() * 3 + 1)
console.log(m)

6

第7题

1
2
3
4
5
6
7
8
9
10
11
12
13
14
var x = 1;

function A(y) {
var x = 2;

function B(z) {
console.log(x + y + z)
}

return B
}

var C = A(2)
C(3)

7