web知识(二)
一.window.onload和$(document).ready?
window.onload是js中的函数,等待网页中所有内容加载完毕之后(包括图片)触发的事件;
$(document).ready()是在网页中的所有DOM结构绘制完毕之后就可以执行了,可能有与DOM关联的元素还没有加载完,所以会在window.onload前执行;
二.text-align与float区别?
text-align是文本的位置。
float表示dom元素的左右浮动,有时需要配合clear来完成样式调整。
三.JS原型链中的prototype和__proto__的区别?
1.【每个对象都具有一个名为__proto__的属性】;
2.【每个构造函数都具有一个名为prototype的方法】(注意:既然是方法,那么就是一个对象(JS中函数同样是对象),所以prototype同样带有__proto__属性);
(构造函数标准为大写开头,如Function(),Object()等等JS中自带的构造函数,以及自己创建的)
3.【每个对象的__proto__属性指向自身构造函数的prototype】;
eg:有一个类如下: function Person(name) { this.name = name } let p = new Person("Tom");
1. p.__proto__等于什么? 答案:Person.prototype
2.Person.__proto__等于什么? 答案:Function.prototype
解析:
1,2两问其实问的是同一个问题,都是考察原型链相关的知识,我们只需要记住一句话就可以迎刃而解。
实例的proto属性(原型)等于其构造函数的prototype属性。【实例p的构造函数为Person】【而Person的构造函数为Function】,结果就一目了然了。
参考链接: https://blog.csdn.net/lmhlmh_/article/details/80700971;
参考链接: https://www.jianshu.com/p/35a027c7e4d9;
浙公网安备 33010602011771号