本篇文章是前端基础练习题第二十八天的答案及解析部分,纯题目部分请移步前端基础练习题 第28天
正文
1.试完善以下代码,以解释JS引擎是如何查找一个对象obj
的属性prop
的(包含原型链上的属性)?
1 | function getProperty(obj, prop) { |
参考代码如下所示:
1 | function getProperty(obj, prop) { |
采用递归的方式寻找对象及其原型链上的相关属性,直到其原型为空。这里利用了递归、hasOwnProperty
方法、_proto_
属性和getProperty
方法。
1 | [1, 2, 3, 4, 5].duplicator(); // [1, 2, 3, 4, 5, 1, 2, 3, 4, 5] |
参考代码如下所示:
1 | // 方法1: concat |
由该函数的调用方式易知,该函数是定义在Array
的原型上的。该函数的作用就是在数组末尾重复数组内的值。很容易想到concat
方法,直接拼接该数组即可;方法2则是获取数组的所有值,然后按序在末尾添加。
有两种方式可以确定:
- 根据
z-index
属性确定,z-index
属性用来设置元素的堆叠顺序,拥有更高值的元素会处于较低值元素的前面 - 根据CSS优先级确定,优先级更高的样式,其设置的堆叠属性会覆盖优先级低的样式
4.请写出验证中国手机号的正则表达式。
如下所示:
1 | // reg1: 简略 |
第一个正则表达式比较简略,只需要匹配以1开头,后跟10个数字的字符串即可;第二个正则表达式则考虑了号段,相对来说详尽一些。
代码如下所示:
1 | /* HTML */ |
利用CSS绘制三角形主要就是利用元素的border
属性。
JSON
格式?如何将JSON
字符串解析为JS值?7.如何将浏览器URL查询字符串转为一个对象,如http://jealyn.top?name=jealyn&age=23&gender=male
的查询参数将转化为:
1 | { |
参考代码如下所示:
1 | function getQueries() { |
URL的查询参数是指?
后面的部分,每组参数以&
分隔,其键与值之间通过=
分隔,根据以上规则将URL进行分割获取即可。
404页面
有何用处?说明
题目中出现的JS指的是采用ECMAScript 2015及之后标准的JavaScript
答案中,若有错误和需完善的地方,可在下方留言反馈哈~~
查看纯习题版,请点击前端基础练习题 第28天