???? JS ?????? ????? ??? ??? ?????, JS ?????? ????? ??? ??? ? ????? ???? ????????. ??? ?? ?????.
??? ??? ?? ???? ????? ??? ????. ? ??? ????? ??? ???? ?????, ? ????? ??? ??? ???? ?? ?????? ??? ? ????.
function?Person(){ } Person.prototype.name?=?"Nicholas"; Person.prototype.age?=?29; Person.prototype.sayName?=?function(){ alert(this.name); }; var?person1?=?new?Person(); person1.sayName();?//"Nicholas" var?person2?=?new?Person(); person2.sayName();?//"Nicholas" alert(person1.sayName?==?person2.sayName);?//true
1. ????? ?? ????
??? ??? ??? ??? ?? ?? ??? ?? ??? ?? ????? ??? ?????. ? ??? ??? ????? ??? ?????.
????? ?? ????? ??? ????? ??? ?? ??? ?? ???? ???? ??? ??? ???? ????.
? ????? ???? ?? ???? ???? ?????? ???? ????? ??? ???? ???(?? ??)? ?????. ECMA-262 ?? 5??? ? ???? [[Prototype]]??? ????.
?????? [[Prototype]]? ????? ?? ??? ??? Firefox, Safari ? Chrome? ?? ???? ?? ??? __proto__ ??? ????? ? ??? ????? ?? ???? ????.
??? ??? ?? ? ?? ??? ?? ? ??? ????? ??? ??? ??? ????? ???? ????? ?? ??? ????? ????.
????? ???? ?? Person ???? Person.prototype? ???? ?? ??? ?? ??, ?? 6-1? ? ?? ?? ??? ?????.
??? Person.prototype? ????? ??? ???? Person.prototype.constructor? Person? ?? ?????.
person1? person2 ?? Person.prototype? ???? ?? ??? ?????. ?, ???? ???? ??? ????.
person1.sayName() ?? ??? ? ????. ?? ?? ??? ?? ????? ?? ?????. (?? ????? ????, ?? ? ??? ?????? ?? ?????.)
用isPrototypeOf()方法判斷實(shí)例與原型對(duì)象之間的關(guān)系 alert(Person.prototype.isPrototypeOf(person1));?//true alert(Person.prototype.isPrototypeOf(person2));?//true 用Object.getPrototypeOf()?方法返回實(shí)例的原型對(duì)象 alert(Object.getPrototypeOf(person1)?==?Person.prototype);?//true 使用?hasOwnProperty()?方法可以檢測(cè)一個(gè)屬性是存在于實(shí)例中,還是存在于原型中。 alert(person1.hasOwnProperty("name"));?//false 來(lái)著原型 person1.name?=?"Greg"; alert(person1.name);?//"Greg"——來(lái)自實(shí)例 alert(person1.hasOwnProperty("name"));?//true
2. ? ??? ????? ??
?? ???? Person.prototype? ???? ???. ??? ???? ??? ???. ???? ??? ??? ?????? ??? ????? ? ? ????? ?? ?? ??? ???? ???? ?? ???? ?? ????? ??? ????? ?? ? ??????.
function?Person(){ } Person.prototype?=?{ name?:?"Nicholas", age?:?29, job:?"Software?Engineer", sayName?:?function?()?{ alert(this.name); } };
? ????? Person.prototype? ?? ???? ??? ? ??? ???? ??????. ? ?? ??? ???? ?? ??? ?????. ??? ??? ? ?? Person ? ???? ????.
?? ????? ??? ??? ??? ?? ????? ??? ??? ???? ? ??? ???? ??? ??? ????.
var?friend?=?new?Person(); alert(friend?instanceof?Object);?//true alert(friend?instanceof?Person);?//true alert(friend.constructor?==?Person);?//false alert(friend.constructor?==?Object);?//true
??? object ? Person? ????? ?? instanceof ???? ???? ??? true? ????? ??? ??? Object? ?? Person?? ?? ????.
???? ?? ?? ??? ?? ??? ?? ????? ??? ??? ?? ??? ? ????.
function?Person(){ } Person.prototype?=?{ ??constructor?:?Person, ??name?:?"Nicholas", ??age?:?29, ??job:?"Software?Engineer", ??sayName?:?function?()?{ ????alert(this.name); ??} };
3. ???? ??? ?????
?? ???? ?? ??(Object, Array, String ?)?? ???? ?????? ??? ???? ????.
?? ?? sort() ???? Array.prototype?? ?? ? ?? substring() ???? String.prototype?? ?? ? ????. ?????? ???? ??? ?????? ???? ?? ???? ????.
4. ????? ??? ??
????? ??? ?? ? ??? ?? ???? ?????. ? ? ??? ???? ?? ???? ??? ????.
function?Person(){ } Person.prototype?=?{ constructor:?Person, name?:?"Nicholas", age?:?29, job?:?"Software?Engineer", friends?:?["Shelby",?"Court"], sayName?:?function?()?{ alert(this.name); } }; var?person1?=?new?Person(); var?person2?=?new?Person(); person1.friends.push("Van"); alert(person1.friends);?//"Shelby,Court,Van" alert(person2.friends);?//"Shelby,Court,Van" alert(person1.friends?===?person2.friends);?//true
5. ????? ??
?? ????? ?????? ???? ??? ?? ??? ?? ?? ??? ??? ???? ????? ?? ????. ?? ?? ????? ????? ?????? ??? ?????. ??? ?? ????? ??? ?? ?????.
function?SuperType(){ this.property?=?true; } SuperType.prototype.getSuperValue?=?function(){ return?this.property; }; function?SubType(){ this.subproperty?=?false; } //繼承了?SuperType SubType.prototype?=?new?SuperType(); SubType.prototype.getSubValue?=?function?(){ return?this.subproperty; }; var?instance?=?new?SubType(); alert(instance.getSuperValue());?//true
?? ??:
??? SubType.prototype? ????. ?? ??? ???? ???? getSuperValue()? ????? ????? ?????. SubType.prototype? ?? SuperType? ??????? ?? ??? ?? ????? ????.
? ??? ??? ?? ? ??? ?????? ?????. ? ???? ??? ??? PHP ??? ????? ?? ?? ??? ?????!
?? ??:
react+native+video? ??? ??? ???? ?? ?? ?? ???
? ??? JS ????? ? ????? ?? ?? ??? ?? ?????. ??? ??? PHP ??? ????? ?? ?? ??? ?????!

? AI ??

Undress AI Tool
??? ???? ??

Undresser.AI Undress
???? ?? ??? ??? ?? AI ?? ?

AI Clothes Remover
???? ?? ???? ??? AI ?????.

Clothoff.io
AI ? ???

Video Face Swap
??? ??? AI ?? ?? ??? ???? ?? ???? ??? ?? ????!

?? ??

??? ??

???++7.3.1
???? ?? ?? ?? ???

SublimeText3 ??? ??
??? ??, ???? ?? ????.

???? 13.0.1 ???
??? PHP ?? ?? ??

???? CS6
??? ? ?? ??

SublimeText3 Mac ??
? ??? ?? ?? ?????(SublimeText3)

WebSocket? JavaScript: ??? ???? ??? ??? ?? ?? ?? ??: ??? ??? ??? ??? ?? ??? ???? ???? ??? ???? ?? ???? ??. ??? ????? ???? ?? ?? ? ??? WebSocket? JavaScript? ?????. ? ????? ??? ???? ????? WebSocket ? JavaScript? ??? ???? ?? ??? ???? ?? ??? ??? ?????. 1. ??? ??

WebSocket ? JavaScript? ???? ??? ?? ?? ???? ???? ?? ??: ???? ?? ??? ?? ?? ??? ?? ?? ??? ??? ??? ?????. WebSocket? JavaScript? ???? ? ??? ?? ?? ???? ?? ?? ??, ???, ??? ?????? ??? ?? ??? ?? ???? ???? ?????. ? ????? WebSocket? JavaScript? ???? ??? ?? ?? ???? ???? ??? ?????.

JavaScript ? WebSocket? ???? ??? ??? ?? ???? ???? ?? ??: ???? ???? ??? ???? ?? ? ?? ?????? ??? ?? ???? ???? ??????. ??? ??? ?? ???? ???? ?? JavaScript ? WebSocket ??? ??? ? ????. WebSocket? TCP ????? ???? ?? ??? ?? ????? ?????? ?? ?? ??? ??? ??? ??? ? ????. ??? ??? ?? ?????? ???? ??? ???? ??? ??

JavaScript ? WebSocket: ???? ??? ?? ?? ??? ?? ??: ??? ?? ??? ???? ?? ??? ?? ??? ?? ?????. ??? ???? ?? ??? ?? ???? ????? ?????? ?? ???? ??? ? ?? ????? ??? ? ????. ? ????? JavaScript ? WebSocket ??? ???? ???? ??? ?? ?? ???? ???? ??? ?????. ? ????? ?? ?? ??? ?? ?? ????? ?????. ??

WebSocket? JavaScript? ???? ??? ?? ???? ???? ?? ???? ??? ???? ?? ? ?? ??? ????? ??? ?? ??? ???? ???. ???? ??? ??? ?? ???? ???? ?? ?????. ? ????? WebSocket? JavaScript? ???? ??? ?? ???? ???? ??? ???? ???? ?? ??? ?????. 1. WebSocket?? ?????? WebSocket? ?? TCP ??? ??? ?????.

JavaScript ????: HTTP ?? ??? ?? ??, ?? ?? ??? ?????. ??: ? ????? ???? ??? ?? ??? ?? ?????. ??? ??? ? ??? HTTP ?? ??? ???? ??? ?? ??? ???? ??? ?? ??? ?? ?? ??? ???? ?? ??? ????. ? ????? JavaScript? ???? HTTP ?? ??? ?? ??? ? ?? ???? ?? ??? ?????. XMLHttpRequest ??

JavaScript?? HTTP ?? ??? ?? ?? ??: ??? ?? ???? ??? ?? ??? ??????? ?? ??? ???? ?? HTTP ?? ??? ?? ??? ?????. HTTP ?? ??? ???? ?? ?? ??????? ??? ???? ? ? ???? ? ??? ???. ? ????? JavaScript? ???? HTTP ?? ??? ?? ??? ???? ???? ?? ??? ?????. 1. HTTP ?? ??? ?????? HTTP ?? ??? ????? ??? ??? ??? ? ????

JavaScript? ? ??? ?? ???? ????? ??? ?? WebSocket? ??? ??? ???? ???? ???????. ? ??? ??? ??? ???? ???? ??? ?? ?? ???? ?? ? ????. ? ????? JavaScript? WebSocket? ???? ? ???? ???? ??? ???? ???? ?? ??? ?????. ??, ??? ???? ???? ????? ??? ??? ? ??? ??. ??? ??? ???? ??? ? ?? ??? ??? ??? ??? ?????.
