Home >Web Front-end >JS Tutorial >Introduction to inheritance encapsulation in JavaScript_Basic knowledge

Introduction to inheritance encapsulation in JavaScript_Basic knowledge

WBOY
WBOYOriginal
2016-05-16 17:20:14990browse
Copy code The code is as follows:

/**
* When this function is called, only the first parameter is passed in. If the second one does not exist, the class is created
* When this function is called, two parameters are passed in, the first one The parameter is the base class, and the second parameter adds content based on the base class
*/
function extend(obj ,prop){
function F(){

}
//If the first parameter is of object type (i.e. json object), assign the key value of json to the F function Prototype F.prototype.key = value
if (typeof(obj) == "object") {
for(var name in obj){
F.prototype[name] = obj[name];
}
} else {//If the first parameter is of function type, assign the prototype of the secondary function to the F function. Prop must be passed by value (json object), so assign prop to F Prototype of function
F.prototype = obj.prototype;
for(var name in prop){
F.prototype[name] = prop[name];
}
}
return F;
}
//Because there is only one parameter here, the key and value of the json object will be assigned to the prototype of the F function in the extend function, and then the person variable will be used to receive the F function. This When person also becomes a function, this function also has the prototype name and sex of the F function
var person = extend({
name: "xxc",
sex: "man"
} );
//Pass the person function in. After entering the extend function, first assign the person prototype to the F function, and then assign the second parameter hope: "more money" to the F function. At this time, the F function The prototype has three things name, sex, hope
//Finally, the F function is returned, causing the prototype of person to be the same as the F function, with name, sex, hope
var person = extend(person,{
hope:"more money"
});
alert(person.prototype.name);//xxc
alert(person.prototype.sex);//man
alert(person.prototype .hope);//more money

Copy code The code is as follows:




function.html< /title> <br><br><meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <br><meta http-equiv="description" content="this is my page "> <br><meta http-equiv="content-type" content="text/html; charset=UTF-8"> <br><script src="../jquery/jquery-1.10 .2.min.js"></script> <br><script src="extends2.js"></script> <br><!--<link rel="stylesheet" type="text/css" href="./styles.css">--> <br><br></head> <br><br><body> <br></body> ; <BR></html> <br> </div></div><div class="nphpQianMsg"><div class="clear"></div></div><div class="nphpQianSheng"><span>Statement:</span><div>The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn</div></div></div><div class="nphpSytBox"><span>Previous article:<a class="dBlack" title="JS verification ID card validity example_javascript skills" href="https://m.php.cn/faq/15926.html">JS verification ID card validity example_javascript skills</a></span><span>Next article:<a class="dBlack" title="JS verification ID card validity example_javascript skills" href="https://m.php.cn/faq/15928.html">JS verification ID card validity example_javascript skills</a></span></div><div class="nphpSytBox2"><div class="nphpZbktTitle"><h2>Related articles</h2><em><a href="https://m.php.cn/article.html" class="bBlack"><i>See more</i><b></b></a></em><div class="clear"></div></div><ins class="adsbygoogle" style="display:block" data-ad-format="fluid" data-ad-layout-key="-6t+ed+2i-1n-4w" data-ad-client="ca-pub-5902227090019525" data-ad-slot="8966999616"></ins><script> (adsbygoogle = window.adsbygoogle || []).push({}); </script><ul class="nphpXgwzList"><li><b></b><a href="https://m.php.cn/faq/1609.html" title="An in-depth analysis of the Bootstrap list group component" class="aBlack">An in-depth analysis of the Bootstrap list group component</a><div class="clear"></div></li><li><b></b><a href="https://m.php.cn/faq/1640.html" title="Detailed explanation of JavaScript function currying" class="aBlack">Detailed explanation of JavaScript function currying</a><div class="clear"></div></li><li><b></b><a href="https://m.php.cn/faq/1949.html" title="Complete example of JS password generation and strength detection (with demo source code download)" class="aBlack">Complete example of JS password generation and strength detection (with demo source code download)</a><div class="clear"></div></li><li><b></b><a href="https://m.php.cn/faq/2248.html" title="Angularjs integrates WeChat UI (weui)" class="aBlack">Angularjs integrates WeChat UI (weui)</a><div class="clear"></div></li><li><b></b><a href="https://m.php.cn/faq/2351.html" title="How to quickly switch between Traditional Chinese and Simplified Chinese with JavaScript and the trick for websites to support switching between Simplified and Traditional Chinese_javascript skills" class="aBlack">How to quickly switch between Traditional Chinese and Simplified Chinese with JavaScript and the trick for websites to support switching between Simplified and Traditional Chinese_javascript skills</a><div class="clear"></div></li></ul></div></div><ins class="adsbygoogle" style="display:block" data-ad-format="autorelaxed" data-ad-client="ca-pub-5902227090019525" data-ad-slot="5027754603"></ins><script> (adsbygoogle = window.adsbygoogle || []).push({}); </script><footer><div class="footer"><div class="footertop"><img src="/static/imghwm/logo.png" alt=""><p>Public welfare online PHP training,Help PHP learners grow quickly!</p></div><div class="footermid"><a href="https://m.php.cn/about/us.html">About us</a><a href="https://m.php.cn/about/disclaimer.html">Disclaimer</a><a href="https://m.php.cn/update/article_0_1.html">Sitemap</a></div><div class="footerbottom"><p> © php.cn All rights reserved </p></div></div></footer><script>isLogin = 0;</script><script type="text/javascript" src="/static/layui/layui.js"></script><script type="text/javascript" src="/static/js/global.js?4.9.47"></script></div><script src="https://vdse.bdstatic.com//search-video.v1.min.js"></script><link rel='stylesheet' id='_main-css' href='/static/css/viewer.min.css' type='text/css' media='all'/><script type='text/javascript' src='/static/js/viewer.min.js?1'></script><script type='text/javascript' src='/static/js/jquery-viewer.min.js'></script><script>jQuery.fn.wait = function (func, times, interval) { var _times = times || -1, //100次 _interval = interval || 20, //20毫秒每次 _self = this, _selector = this.selector, //选择器 _iIntervalID; //定时器id if( this.length ){ //如果已经获取到了,就直接执行函数 func && func.call(this); } else { _iIntervalID = setInterval(function() { if(!_times) { //是0就退出 clearInterval(_iIntervalID); } _times <= 0 || _times--; //如果是正数就 -- _self = $(_selector); //再次选择 if( _self.length ) { //判断是否取到 func && func.call(_self); clearInterval(_iIntervalID); } }, _interval); } return this; } $("table.syntaxhighlighter").wait(function() { $('table.syntaxhighlighter').append("<p class='cnblogs_code_footer'><span class='cnblogs_code_footer_icon'></span></p>"); }); $(document).on("click", ".cnblogs_code_footer",function(){ $(this).parents('table.syntaxhighlighter').css('display','inline-table');$(this).hide(); }); $('.nphpQianCont').viewer({navbar:true,title:false,toolbar:false,movable:false,viewed:function(){$('img').click(function(){$('.viewer-close').trigger('click');});}}); </script></body></html>