前端大雜燴之JS(三)

2021-08-20 03:45:04 字數 2796 閱讀 5994

var a = 

}var b = a.fn;

b.call(a,1,2);

var a = 

}var b = a.fn;

var arr = [500,20];

var a = 

}var b = a.fn;

var c = b.bind(a,10);

c(1,2);

//以下是用於驗證的偽**

var f = new

f();

//於是有

f.__proto__ === f.prototype //true

//又因為

f.prototype === o;//true

//所以

f.__proto__ === o;

// 第一種方式:字面量

var o1 =

var o2 = new

object()

// 第二種方式:建構函式

var m = function (name)

var o3 = new m('o3')

// 第三種方式:object.create

var p =

var o4 = object.create(p)

let super = functioin(name) ;

this.getname = () =>

}let sub = function(***)

sub.prototype = new super('eric'); //通過改變原型物件實現繼承

let sub1 = new sub('male')

sub2 = new sub('female');

sub1.setname('ada');

// 這裡必須通過setname方法來修改繼承來的name屬性。

// 如果通過sub1.name== 'ada',就打不到目的,因為此時sub1物件上沒有name屬性,

// 這樣等於為該物件新增了新的屬性,而不是修改繼承而來的name屬性。

console.log(sub2.name); // ada,可見此sub2的name也會被修改掉

console.log(sub1.getname === sub2.getname) // true,復用了方法

let super = function(name) 

}let sub = function(***,name)

let sub1 = new sub('male','eric'),

sub2 = new sub('female','eric');

sub1.name = 'ada';

console.log(sub2.name); // eric,例項的屬性沒有相互影響

console.log(sub1.getname === sub2.getname); // false,可見方法沒有復用

let super = function(name) 

super.prototype =

}let sub = function(***)

sub.prototype = new super('eric'); //繼承父類方法

sub.prototype.constructor = sub;

let sub1 = new sub('male'),

sub2 = new sub('female');

// 可以按上述兩種方法驗證,復用了父類的方法,例項沒有復用,達到目的

let super = function(name) 

super.prototype =

}let sub = function(***,name)

// 組合繼承的缺點就是在繼承父類方法的時候呼叫了父類建構函式,從而造成記憶體浪費,

// 現在只要解決了這個問題就完美了。那在復用父類方法的時候,

// 使用object.create方法也可以達到目的,沒有呼叫父類建構函式,問題解決。

sub.prototype = object.create(super.prototype);

sub.prototype.constructor = sub;

class

super() )

setname(name)

getname()

}class

subextends

super

); // 建立例項,繼承父類屬性和方法

this.*** = props.***;

}}let sub1 = new sub()

let sub2 = new sub()

sub1.setname('ada');

console.log(sub1.getname(),sub2.getname()) // ada,eric,屬性沒復用,各自例項都有自己的屬性。

console.log(sub1.getname === sub2.getname) // true; 復用了父類的方法

console.log(sub.prototype.***) // undefined

// 子類原型物件上沒有父類建構函式中賦值的屬性,不是組合式繼承

前端大雜燴之HTML

2 本地儲存特性 offline storage 3 裝置訪問特性 device access 4 連線特性 connectivity 5 網頁多 特性 6 三維 圖形及特效特性 3d,graphics effects 7 效能與整合特性 performance integration class ...

前端大雜燴總結

1.jquery 等一些優秀的js外掛程式暫時不可能完全被新的es6 es6 代替的。所以現在的局面是乙個大雜燴時代。你可能一面寫著es6的東西,一面用著es5.瀏覽器的相容一直是個令人頭疼萬分的事情。所以es5的學習,以及掌握重要的es5外掛程式依然很重要。2.為了用上先進的前端技術,目前有不少辦...

前端大雜燴 收藏集 掘金

神器!解放你的雙手 ui 設計稿全自動切圖和標註的一些工具推薦 前端 掘金 記錄一些前端的知識點 一 前端 掘金 想學習前端或程式設計知識歡迎關注專欄 敲 學程式設計 知乎專欄一 w3c 標準盒模型和 ie 盒模型區別 1.w3c 標準盒模型 盒子的高寬是由盒子的內容區僅由 width,height...