每日思考(2020/08/18)
题目概览
- 怎么使用HTML5来获取定位
- 对CSS样式覆盖规则的理解
- 判断instanceof的结果并解释原因
- 对hosts文件的理解
题目解答
怎么使用HTML5来获取定位
- 地理位置 API允许用户向 Web 应用程序提供他们的位置。出于隐私考虑,报告地理位置前会先请求用户许可。地理位置 API 通过
navigator.geolocation
提供 - MDN文档:使用地理位置定位
对CSS样式覆盖规则的理解
- 首先看权重,权重高的样式会覆盖权重低大的样式。
!important > #id > .class > tag > *
- 同等权重时,css 靠后的覆盖靠前的(就近原则),只与 css 书写的顺序有关,与 class 引用的顺序无关
- 行内样式 > 内联样式 > 外联样式
判断instanceof的结果并解释原因
function test(){
return test;
}
new test() instanceof test;
- 如果函数明确返回 non-primitive 值,那么
new
运算符的结果将是这个值。所以,原表达式相当于:test instanceof test
。 instanceof
运算符将检测右端值的prototype
属性是否在左端值的原型链([[Prototype]]
属性)上;如果不在,则向上查找([[Prototype]]
的[[Prototype]]
,…),直到找遍左端值的整个原型链。([[Prototype]]
属性可以通过Object.getPrototypeOf(obj)
函数获得)- 左端值
test
是一个Function
,故它的原型链为:Function.prototype -> Object.prototype -> null
- 可以看到,原型链上没有
test.prototype
出现,所以test
并不是test
的一个实例 - 所以
instanceof
运算符返回false
对hosts文件的理解
hosts
文件可以将名称映射到 IP 地址。在本机上所有对这个名称的访问相当于对它被映射到的 IP 地址的访问。- 加快域名解析。 匹配后不再去DNS服务器查询
- 自定义域名解析。 可以根据自己的需要来配置
【转载文章务必保留出处和署名,谢谢!】