jQuery的extend方法
function njQuery() {
}
/*
njQuery.extend = function (obj) {
// 此时此刻的this就是njQuery这个类
// console.log(this);
for(var key in obj){
// njQuery["isTest"] = function () {console.log("test");}
this[key] = obj[key];
}
}
njQuery.extend({
isTest: function () {
console.log("test");
}
});
njQuery.isTest();
*/
/*
njQuery.prototype.extend = function (obj) {
// 此时此刻的this是njQuery对象
// console.log(this);
for(var key in obj){
// q["isDemo"] = function () {console.log("demo");}
this[key] = obj[key];
}
}
var q = new njQuery();
q.extend({
isDemo: function () {
console.log("demo");
}
});
q.isDemo();
*/
njQuery.extend = njQuery.prototype.extend = function (obj) {
// console.log(this);
for(var key in obj){
this[key] = obj[key];
}
}
// njQuery.extend({});
var q = new njQuery();
q.extend({});
jQuery监听DOM加载
/* onload事件会等到DOM元素加载完毕, 并且还会等到资源也加载完毕才会执行 DOMContentLoaded事件只会等到DOM元素加载完毕就会执行回调 */ /* window.onload = function (ev) { // var res = document.querySelectorAll("div"); // console.log(res); console.log("onload"); } document.addEventListener("DOMContentLoaded", function () { // var res = document.querySelectorAll("div"); // console.log(res); console.log("DOMContentLoaded"); }); */ /* document.readyState属性有如下的状态 uninitialized - 还未开始载入 loading - 载入中 interactive - 已加载,文档与用户可以开始交互 complete - 载入完成 onreadystatechange事件就是专门用于监听document.readyState属性的改变的 */ /* document.attachEvent("onreadystatechange", function () { if(document.readyState == "complete"){ console.log("onreadystatechange"); } }); */ $(function () { var res = document.querySelectorAll("div"); console.log(res); });