首页 > 代码库 > javacript函数面向对象笔记
javacript函数面向对象笔记
<!DOCTYPE html> <html> <head> <title></title> <script type="text/javascript"> function hero(name) { //构造函数 this.name=name; this.occupation=‘Ninja‘; this.whoAreyou=function() { return ‘I am‘+ this.name +this.occupation; } } var hero1=new hero(‘Michelangelo‘); console.log(hero1.name); var hero2=new hero(‘Lucy‘); console.log(hero2.name); console.log(window.name); var obj={}; console.log(obj.constructor); console.log(typeof obj.constructor); // instanceof 检测一个对象是不是有某个指定的构造函数所创建的; function Hero( ) { }; var hero_1=new Hero(); var obj_a={}; console.log(hero_1 instanceof Hero); console.log(hero_1 instanceof Object); console.log(obj_a instanceof Object); var first_a=new Function(‘a‘,‘b‘,‘c‘,‘d‘, ‘return arguments‘ ); console.log(first_a(1,2,3,4)); var first_b=new Function(‘a‘,‘b‘,‘c‘,‘d‘, ‘return arguments‘ ); console.log(first_b(12,15,13,14)); var first_c=new Function(‘a‘,‘b‘,‘c‘,‘d‘, ‘return arguments‘ ); console.log(first_c(4,5,6,7)); var some_obj={ name:‘Ninja‘, say:function(){ return "I‘m a" + this.name; } } function some_fun() { } some_fun.prototype=some_obj; console.log(some_fun.name) var some_Ninja=new some_fun(); console.log(some_Ninja.name); var some_obja={ name:‘Ninja‘, say:function (who) { return ‘haha ‘+ who +‘ I am a ‘+ this.name; } } var mike={name: ‘Kate‘} console.log(some_obja.say(‘Jim‘)); console.log( some_obja.say.call(mike,‘Ninja‘)); console.log(some_obja.say.apply(mike,[‘Lily‘])); //apply 参数通过数组传递 var dateNow=new Date(); console.log(dateNow); var dateM= dateNow.setMonth(2); console.log(dateM); dateNow.setMonth(3); console.log(dateNow.toString()); var dateP=Date.parse(‘Jul 1,2013‘) console.log(dateP) //console.log(dateP.()); //正则表达式 var re= new RegExp("j.*t"); console.log(re.test("javascript")); var s=new String(‘HelloJavascriptWorldstring‘); var sMatch= s.match(/a/g); //匹配字符串的a的数组 console.log(sMatch); var sSearch=s.search(/a/i); //匹配字符串的a的位置 console.log(sSearch); var sReplace=s.replace(/[A-Z]/g,‘ ‘); //替换所有a-z大写字母, console.log(sReplace); var deEmial=‘deveil@163.com‘; var re=/(.*)@(.*)\.(.*)/; var callbackfun=function () { glob=arguments; return arguments[1] +‘ at ‘+arguments[2]+‘ dot ‘+arguments[3]; } console.log(deEmial.replace(re,callbackfun)); function fun_c() { function fun_d() { return this; console.log(this); } fun_d(); } var fun_a=new fun_c(); var arr_c=[1,2,12,[4,5,6]]; console.log(arr_c.sort()); console.log(arr_c.join(‘--‘)); console.log(arr_c); //原型对象 function Creatpro(name,color){ this.name=name; console.log(this); this.color=color; this.whatareyou=function(){ console.log(‘iam ‘+this.name+this.color); }; } Creatpro.prototype={ price:100, rating:3, getInfo:function () { console.log(‘Rating ‘+ this.rating+‘ ,price ‘+this.price); } }; var CreatePro_a=new Creatpro(‘Lily‘,‘red‘); CreatePro_a.whatareyou(); CreatePro_a.getInfo(); console.log(CreatePro_a.constructor); console.log(CreatePro_a.constructor.prototype.rating); console.log(CreatePro_a.name); console.log(CreatePro_a.price); function getGarde(name) { this.name=name; }; getGarde.prototype.name="person"; //设置默认属性name名称 var toy=new getGarde(‘robot‘); // 新建一个对象 toy delete toy.name; //删除toy的名称 console.log(toy.name) toy.name=‘vegetables‘; //设置toy的名称 console.log(toy.name) function getGarde_a(name,color) { this.name=name; this.color=color; this.say=function(){ console.log(this.name+‘ haha ‘+this.color ) } // body... } getGarde_a.prototype.price=210; getGarde_a.prototype.rating=5; var getGarde_b={ tall:145, animate:‘2d‘, numbers:14 } getGarde_a.prototype=getGarde_b; console.log(getGarde_b.isPrototypeOf(‘getGarde_a‘)); // 判断getGarde_a的原型属性是不是getGarde_b的 var toy_a=new getGarde_a(‘Lucy‘,‘orange‘); console.log(toy_a.name); for(var pop in toy_a){ //遍历对象的所有属性方法 console.log(pop +‘ = ‘+ toy_a[pop]); } console.log(toy_a.propertyIsEnumerable(‘name‘)); // 属性是否可枚举 原型链的属性也是不可枚举的 console.log(toy_a.propertyIsEnumerable(‘widths‘)); console.log(toy_a.propertyIsEnumerable(‘rating‘)); console.log(toy_a.hasOwnProperty(‘name‘)); //判断属性是原型对象 还是自身的; console.log(toy_a.hasOwnProperty(‘price‘)); function shape(typedd){ this.type=typedd; this.getTypedd=function(){ console.log(this.type); } } var shape_a= new shape(‘hello‘); //console.log(shape_a.getTypedd()); function tpro(){ this.textd=‘javascript‘; this.heights=1245; this.widths=1246; this.sayWidth=function(){ console.log(this.widths); } } var tpro_a= new tpro(); for(porp in tpro_a){ console.log(porp +‘ = ‘ + tpro_a[porp]); } function shape_A() { shape_A.prototype.name=‘shape_A‘; shape_A.prototype.toString=function(){ return this.name; } } function shape_B() { this.name="2dshape"; } function Triangle(side,height) { this.name="Triangle"; this.side=side; this.height=height; this.getArea=function ( ) { return this.side*this.height/2; } } shape_B.prototype= new shape_A(); //继承原型里的属性 Triangle.prototype= new shape_B(); shape_B.prototype.constructor=shape_B; Triangle.prototype.constructor=Triangle; var mytri= new Triangle(3,5); console.log(mytri.getArea()); console.log(mytri.toString()); //临时构造器 function shapeCreate() { shapeCreate.prototype.name="Java"; shapeCreate.prototype.showName=function () { console.log(this.name); } } function shapeTwo(){}; var F=function () { }; F.prototype=new shapeCreate(); shapeTwo.prototype=new F(); shapeTwo.prototype.constructor=shapeTwo; shapeTwo.prototype.name="12121"; shapeTwo.prototype.showName(); </script> </head> <body> </body> </html>
javacript函数面向对象笔记
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。