亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

JavaScript深入淺出

Bosn 資深架構師
難度中級
時長 5小時28分
學習人數
綜合評分9.60
493人評價 查看評價
9.8 內容實用
9.5 簡潔易懂
9.5 邏輯清晰
模塊化(封裝)的三種形式:
1,var o;
o = function(){
var p1;
var f1 = function(){};
return { prop: p1, func: f1 };
}();
2, var o;
(function(){
o.prop = p1;
o.func = function(){};
})();
3, var o;
o = new function(){
this.prop = p1;
this.func = function(){};
}();
function Father(){ }
Father.fn = function(){ }
function Sun(){
Father.call(this);
}
Sun.prototype = Object.create(Father.prototype);
Sun.prototype.constructor = Sun;
Sun.prototype.fn = function(){
Father.prototype.fn.apply(this);
}
if(!Objecreate)
Object.create = function(proto){
var o = {};
o.prototype = proto;
return o;
}
if(!Object.create){
Object.create = function(proto){
function F(){}
F.prototype = proto;
return new F();
}
}
對象 instanceof 構造器,順序不能搞混淆視聽了
1, p in o; //實例和原型鏈上的所有屬性
2, for(var p in o); //實例和原型鏈上的所有可枚舉的屬性
3, o.hasOwnProperty(p); //僅實例屬性,不包括原型鏈上的屬性
var o = {x: 1, y: 2};
Object.prototype.z1 = 'zhao';
Object.defineProperty(Object.prototype, 'z2', { writable: true, value: 'qian' });
for(var p in o){ console.log(p, ': ', o[p]); }
//x: zhao y: qian z: sun
取得原型的三種方法:
1,fn.prototype; //通過構造函數的prototype屬性
2,o.__proto__; //通過對象的__proto__屬性
3,Object.getPrototypeOf(o); //通過Object的getProtoTypeOf()方法
=> 1 === 2 === 3
1,scriptJava中沒有會計作用域,這一點不同于C++;
2,作用域鏈由內而外,內外不同,內外和一;
3,(function(){
var a;
var b;
})(); 防止全局變量污染環境。
通俗來講,皮包是指返回函數的函數,內部函數可以訪問外部函數作用域中的變量;
皮包的優點:
1,實現一些特殊的服務,你懂的;
2,封裝功能;
皮包的缺點:
1,浪費大量內存;
2,消耗性能;
3, bind()不僅能綁定作用域對象,還能綁定部分參數;
function fn(x, y, z){ //.... }
var f1 = fn.bind(null, 100); //var f1 = function(100, y, z){ //.... }
var f2 = f1.bind(null, 200); //var f2 = function(100, 200, z){ //..... }
2, function fn(x, y){//this}
fn.call(o, x, y); //改變函數的作用域鏈
fn.apply(o, [x, y]); //同上
fn.bind(o); //將this綁定到指向o
1,function fn(x, y, z){.....};
fn.name; //函數名字符串
fn.length; //函數形參個數
arguments; //傳入的實參組成的類數組
arguments.callee; //函數的自引用
那么檢查某一屬性是否在對象里面,也有用in,是不是屬性也是key。so,一切都是key-value 對 for in 遍歷的是key。
0 in arr1 ,在數組里面in操作符針對索引,也就是key,并不針對value

var arr = ['尼瑪的','你妹的','哈哈'];
'尼瑪的' in arr //'false'
0 in arr //'true'
for( o in arr){ console.log(arr[o]);}
//尼瑪的
//你妹的
// 哈哈
對象里面for in,同樣只針對key
課程須知
1.您至少學習了本站“JS入門”、“JS進階”兩門基礎課程。 2.如您具備一定實踐經驗對學習有很大幫助。 3.如您沒有腳本編程開發經驗,學習過程有可能會受挫部分內容或示例代碼,請“暫時略過不懂的部分,后面章節會闡述”,當然想透徹學習,還需大量實踐來體會知識的內涵。
老師告訴你能學到什么?
結合實例,深入解析以下知識內容: 1. 數據類型、表達式和運算符、語句; 2. 對象、數組、變量、函數; 3. this、閉包和作用域; 4. OOP; 5. 正則與模式匹配。

微信掃碼,參與3人拼團

微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網的支持!

本次提問將花費2個積分

你的積分不足,無法發表

為什么扣積分?

本次提問將花費2個積分

繼續發表請點擊 "確定"

為什么扣積分?

舉報

0/150
提交
取消