??????Javascript????????????
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了??????Javascript????????????相关的知识,希望对你有一定的参考价值。
?????????lan ???????????? java javascrip result ?????? free ?????? ??????
??????
?????????????????????????????????????????????????????????????????????????????? ???????????????????????????????????????????????????????????????window?????????
1. ??????????????????
var Singleton = function( name ) { this.name = name; }; Singleton.prototype.getName = function() { alert ( this.name ); }; Singleton.getInstance = function( name ) { if ( !this.instance ) { //?????????this?????????Singleton???????????????????????????????????????this this.instance = new Singleton( name ); } return this.instance; }; var a = Singleton.getInstance( ???sven1??? ); var b = Singleton.getInstance( ???sven2??? ); alert ( a === b ); // true
???????????? Singleton.getInstance ????????? Singleton ???????????????????????????????????????????????????????????????????????????Java?????????????????????????????? ???????????????????????????????????????????????????????????????Singleton ??????????????????????????????????????????????????? ??????????????? new??????????????????????????????????????????????????? Singleton.getInstance ?????????????????? ???????????????????????????New??????????????????????????????????????????
2.?????????????????????
var Singleton = (function() { var instance; var Singleton = function(name) { if ( instance ) { return instance; } this.name = name; return instance = this; }; Singleton.prototype.getName = function() { //?????????????????????????????????Singleton alert ( this.name ); }; return Singleton; })(); var a = new Singleton( ???sven1??? ); var b = new Singleton( ???sven2??? ); console.log(a == b)
???????????????????????????????????????????????????????????????????????????????????????
????????? instance ??????????????????????????????????????????????????????????????????????????????????????????????????????????????? Singleton ??????????????????????????????????????????????????????????????????????????????????????? ????????????????????????
3.javascript??????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ???????????????????????????????????????????????????????????????????????????????????????????????? Java ??????????????????????????????????????????????????????????????????????????????????????????????????????
??? JavaScript ?????????????????????(class-free)???????????????ES6????????????????????????????????????????????????????????????????????????????????? ???????????? JavaScript ???????????????????????????????????????????????????????????????????????????????????????????????? ????????????????????????????????????????
???????????????????????????????????????????????????????????????????????????
???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
???1???
<html> <body> <button id="loginBtn">??????</button> </body> <script> var loginLayer = (function() { var div = document.createElement( ???div??? ); div.innerHTML = ????????????????????????; div.style.display = ???none???; document.body.appendChild( div ); return div; })(); document.getElementById( ???loginBtn??? ).onclick = function(){ loginLayer.style.display = ???block???; }; </script> </html>
????????????????????????????????????????????????????????????????????? div ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????DOM????????????????????????
???2???
<html> <body> <button id="loginBtn">??????</button> </body> <script> var createLoginLayer = function() { var div = document.createElement( ???div??? ); div.innerHTML = ????????????????????????; div.style.display = ???none???; document.body.appendChild( div ); return div; }; document.getElementById( ???loginBtn??? ).onclick = function(){ var loginLayer = createLoginLayer(); loginLayer.style.display = ???block???; }; </script> </html>
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ?????????????????????????????? div?????????????????????????????????????????????????????????(???????????????)???????????? ???????????????????????????????????????????????????????????????????????????????????????????????????????????????
???3???
<html> <body> <button id="loginBtn">??????</button> </body> <script> var createLoginLayer = (function(){ var div; return function() { if ( !div ) { div = document.createElement( ???div??? ); div.innerHTML = ????????????????????????; div.style.display = ???none???; document.body.appendChild( div ); } return div; } })(); document.getElementById( ???loginBtn??? ).onclick = function(){ var loginLayer = createLoginLayer(); loginLayer.style.display = ???block???; }; </script> </html>
?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
4.?????????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
<html> <body> <button id="loginBtn">??????</button> </body> <script> var getSingle = function(fn){ var result; return function() { return result || ( result = fn .apply(this, arguments ) ); } }; var createLoginLayer = function() { var div = document.createElement( ???div??? ); div.innerHTML = ????????????????????????; div.style.display = ???none???; document.body.appendChild( div ); return div; }; var createMask = function() { var div = document.createElement( ???div??? ); div.innerHTML = ???mask???; div.style.display = ???none???; document.body.appendChild( div ); return div; }; var createSingleLoginLayer = getSingle( createLoginLayer ); var createMask = getSingle( createMask ); document.getElementById( ???loginBtn??? ).onclick = function(){ var loginLayer = createSingleLoginLayer(); var mask = createMask(); loginLayer.style.display = ???block???; mask.style.display = ???block???; }; </script> </html>
?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????getSingle
???getSingle????????????????????????????????? fn ??????????????????????????? getSingle ?????? ???result ??????????????????????????????????????????????????????????????????????????????????????? result ????????????????????????????????????????????? ???
5. ES6??????????????????
class SingletonApple { constructor(name, creator, products) { this.name = name; this.creator = creator; this.products = products; } //???????????? static getInstance(name, creator, products) { if(!this.instance) { this.instance = new SingletonApple(name, creator, products); } return this.instance; } }
let appleCompany = SingletonApple.getInstance(??????????????????, ???????????????, [???iPhone???, ???iMac???, ???iPad???, ???iPod???]);
ES6?????????????????????????????????????????????????????????????????????????????????Java???????????????????????????Java????????????????????????????????????SingletonApple???????????????
getInstance?????????????????????????????????ES6???????????????new?????????????????????????????????????????????????????????
class SingletonApple { constructor(name, creator, products) { this.name = name; this.creator = creator; this.products = products; } //???????????? static getInstance(name, creator, products) { if(!this.instance) { this.instance = new SingletonApple(name, creator, products); } return this.instance; } }
Javascript??????????????????????????????????????????????????????????????????
以上是关于??????Javascript????????????的主要内容,如果未能解决你的问题,请参考以下文章
javascript JavaScript isset()等效: - JavaScript
JavaScript 使用JavaScript更改CSS(JavaScript)