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); });